From 4ac77e403a59a092bdee65317b3fd22047e773d8 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Sun, 1 Mar 2026 16:29:15 +0100 Subject: [PATCH 01/24] chore: activate manual workflow start --- .github/workflows/publish-containers.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index d7c6b75..269d01e 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -14,6 +14,7 @@ on: tags: ["v*.*.*"] pull_request: branches: ["main"] + workflow_dispatch: env: # Use docker.io for Docker Hub if empty From 49aa306f584662af2e44dedb48d8d89aa7265dfb Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Sun, 1 Mar 2026 17:39:25 +0100 Subject: [PATCH 02/24] chore: add moby option --- src/typo3-frankenphp/.devcontainer/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index 2d7bcb6..f9cf853 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -32,4 +32,8 @@ RUN apt-get update && \ COPY php.ini /usr/local/etc/php/php.ini -COPY typo3.caddyfile /etc/frankenphp/Caddyfile \ No newline at end of file +COPY typo3.caddyfile /etc/frankenphp/Caddyfile + +VOLUME [ "/usr/local/etc/php/php.ini/data" ] +VOLUME [ "/etc/frankenphp/Caddyfile/data" ] +VOLUME [ "${WORKSPACE_ROOT" ] \ No newline at end of file From 779317b1a8c55f0e3dd96fd4f94d495d10bb4a05 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Sun, 1 Mar 2026 18:08:18 +0100 Subject: [PATCH 03/24] chore: some fixes --- src/typo3-frankenphp/.devcontainer/Dockerfile | 9 +++-- .../.devcontainer/devcontainer.json | 40 ++----------------- 2 files changed, 9 insertions(+), 40 deletions(-) diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index f9cf853..d9aee04 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -7,7 +7,7 @@ ARG COMPOSE_PROFILES ENV DEVCONTAINER_SERVICE_ID=${DEVCONTAINER_SERVICE_ID} ENV DEVCONTAINER_SERVICE_NAME=${DEVCONTAINER_SERVICE_NAME} ENV COMPOSE_PROFILES=${COMPOSE_PROFILES} -ENV WORKSPACE_ROOT=${WORKSPACE_ROOT:-/workspace} +ENV WORKSPACE_ROOT=${WORKSPACE_ROOT:-/workspaces} USER root @@ -34,6 +34,7 @@ COPY php.ini /usr/local/etc/php/php.ini COPY typo3.caddyfile /etc/frankenphp/Caddyfile -VOLUME [ "/usr/local/etc/php/php.ini/data" ] -VOLUME [ "/etc/frankenphp/Caddyfile/data" ] -VOLUME [ "${WORKSPACE_ROOT" ] \ No newline at end of file +VOLUME [ "/usr/local/etc/php/php.ini" ] +VOLUME [ "/etc/frankenphp/Caddyfile" ] +VOLUME [ "${WORKSPACE_ROOT}" ] +VOLUME [ "${WORKSPACE_ROOT}/.build" ] \ No newline at end of file diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index 61d73e7..cd49363 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -11,42 +11,6 @@ "COMPOSE_PROFILES": "frankenphp" } }, - "workspaceFolder": "/workspace/${localWorkspaceFolderBasename}", - "mounts": [ - "source=${localWorkspaceFolderBasename}-build,target=${containerWorkspaceFolder}/.build,type=volume" - ], - "features": { - "ghcr.io/devcontainers/features/sshd:1": {}, - "ghcr.io/devcontainers/features/docker-in-docker:2": { - "moby": false - } - }, - "containerEnv": { - "WORKSPACE_ROOT": "${containerWorkspaceFolder:-/workspace}", - "TYPO3_INSTALL_WEB_SERVER_CONFIG": "other", - "SERVER_NAME": "127.0.0.1" - }, - "forwardPorts": [ - 80, - 2222, - 3306, - 8080 - ], - "portsAttributes": { - "80": { - "label": "Webserver" - }, - "2222": { - "label": "SSH daemon Port" - }, - "3306": { - "label": "Mysql/MariaDB database" - }, - "8080": { - "label": "Mysql Adminer" - } - }, - "onCreateCommand": "chmod -c +x ${WORKSPACE_ROOT}/.devcontainer/onCreateCommandScript.sh && ${WORKSPACE_ROOT}/.devcontainer/onCreateCommandScript.sh", "customizations": { "vscode": { "extensions": [ @@ -56,6 +20,10 @@ "debug.openDebug": "openOnDebugBreak", "debug.internalConsoleOptions": "openOnSessionStart", "extensions.autoUpdate": false, + "editor.selectionHighlight": false, + "editor.suggestSelection": "first", + "editor.tabCompletion": "onlySnippets", + "editor.wordBasedSuggestions": "off", "editor.codeActionsOnSave": { "source.fixAll.markdownlint": "explicit" }, From 771bcc2b057da33c003ec95d34a8194a18461fa1 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Sun, 1 Mar 2026 17:47:34 +0000 Subject: [PATCH 04/24] chore: finalize docker image --- src/typo3-frankenphp/.devcontainer/Dockerfile | 8 -------- src/typo3-frankenphp/.devcontainer/devcontainer.json | 3 +-- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index d9aee04..ae1c1c9 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -2,11 +2,9 @@ FROM dunglas/frankenphp:php8.4-trixie ARG DEVCONTAINER_SERVICE_ID ARG DEVCONTAINER_SERVICE_NAME -ARG COMPOSE_PROFILES ENV DEVCONTAINER_SERVICE_ID=${DEVCONTAINER_SERVICE_ID} ENV DEVCONTAINER_SERVICE_NAME=${DEVCONTAINER_SERVICE_NAME} -ENV COMPOSE_PROFILES=${COMPOSE_PROFILES} ENV WORKSPACE_ROOT=${WORKSPACE_ROOT:-/workspaces} USER root @@ -17,7 +15,6 @@ RUN addgroup --gid ${DEVCONTAINER_SERVICE_ID} ${DEVCONTAINER_SERVICE_NAME} && \ --disabled-password --shell /bin/false --uid ${DEVCONTAINER_SERVICE_ID} $DEVCONTAINER_SERVICE_NAME RUN apt-get update && \ - mkdir -vp var/log && \ apt-get install -y \ locales-all \ openssh-client \ @@ -33,8 +30,3 @@ RUN apt-get update && \ COPY php.ini /usr/local/etc/php/php.ini COPY typo3.caddyfile /etc/frankenphp/Caddyfile - -VOLUME [ "/usr/local/etc/php/php.ini" ] -VOLUME [ "/etc/frankenphp/Caddyfile" ] -VOLUME [ "${WORKSPACE_ROOT}" ] -VOLUME [ "${WORKSPACE_ROOT}/.build" ] \ No newline at end of file diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index cd49363..780e0cd 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -7,8 +7,7 @@ "dockerfile": "Dockerfile", "args": { "DEVCONTAINER_SERVICE_NAME": "devcontainer", - "DEVCONTAINER_SERVICE_ID": "10000", - "COMPOSE_PROFILES": "frankenphp" + "DEVCONTAINER_SERVICE_ID": "10000" } }, "customizations": { From aae367451f7fd037f20d4ffb49293ce39f39c3d4 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Sun, 1 Mar 2026 18:55:13 +0100 Subject: [PATCH 05/24] chore: set dev-24-trixie tag for devcontainer --- .devcontainer/devcontainer.json | 2 +- src/typo3-frankenphp/.env | 34 ---------------------- src/typo3-frankenphp/Dockerfile copy | 42 ---------------------------- 3 files changed, 1 insertion(+), 77 deletions(-) delete mode 100644 src/typo3-frankenphp/.env delete mode 100644 src/typo3-frankenphp/Dockerfile copy diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f7d6322..c4f2fab 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ // More info: https://containers.dev/implementors/json_reference/ { - "image": "mcr.microsoft.com/devcontainers/javascript-node:latest", + "image": "mcr.microsoft.com/devcontainers/javascript-node:dev-24-trixie", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, diff --git a/src/typo3-frankenphp/.env b/src/typo3-frankenphp/.env deleted file mode 100644 index 0e63ff9..0000000 --- a/src/typo3-frankenphp/.env +++ /dev/null @@ -1,34 +0,0 @@ -TZ=Europe/Berlin -COMPOSE_PROJECT_NAME=introduction -DB_CONNECTION_ROOT_PASSWORD=dbroot - -# -# TYPO3 Settings -# ---------------------------------------- -# -# The following settings are used during the installation of TYPO3 -# and are also available in the running container as environment variables. -# In a containerless environment they should be set in a file named TYPO3.env -# placed in the root of the TYPO3 project. -#---------------------------------------- -TYPO3_CONTEXT=Development -#TYPO3_CONTEXT=Production - -TYPO3_INSTALL_DB_DRIVER=mysqli -TYPO3_INSTALL_DB_USER=db -TYPO3_INSTALL_DB_PASSWORD=db -TYPO3_INSTALL_DB_HOST=127.0.0.1 -TYPO3_INSTALL_DB_PORT=3306 -TYPO3_INSTALL_DB_USE_EXISTING=true -TYPO3_INSTALL_DB_DBNAME=db -TYPO3_INSTALL_ADMIN_USER=admin -TYPO3_INSTALL_ADMIN_PASSWORD=Password!1 -TYPO3_INSTALL_SITE_NAME=TYPO3 Introduction Package -TYPO3_INSTALL_SITE_SETUP_TYPE=no -TYPO3_CONFIG_SYS_TRUSTED_HOST_PATTERN="localhost|127.0.0.1" - -#https://www.php.net/manual/en/errorfunc.constants.php - CAUTION - wrong setting could break Image Processing tests in BE -#this includes E_RECOVERABLE_ERROR (4096), E_ERROR (1) -TYPO3_CONFIG_SYS_EXCEPTIONALERRORS=4097 -# this includes E_DEPRECATED (8192), E_RECOVERABLE_ERROR (4096), E_WARNING (2) -#TYPO3_CONFIG_SYS_EXCEPTIONALERRORS=12290 diff --git a/src/typo3-frankenphp/Dockerfile copy b/src/typo3-frankenphp/Dockerfile copy deleted file mode 100644 index ac8eb84..0000000 --- a/src/typo3-frankenphp/Dockerfile copy +++ /dev/null @@ -1,42 +0,0 @@ -FROM mcr.microsoft.com/devcontainers/base:debian - -ARG USER=vscode - -# Install linux dependencies -RUN apt-get update &&\ - apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev &&\ - apt dist-upgrade -y - -# Get latest Android SDK -ENV ANDROID_HOME=/opt/android-sdk-linux -ENV ANDROID_SDK_ROOT=$ANDROID_HOME -COPY --from=mobiledevops/android-sdk-image $ANDROID_HOME $ANDROID_HOME -RUN mkdir $ANDROID_HOME/cmdline-tools/latest &&\ - (cd $ANDROID_HOME/cmdline-tools && ls | grep -v latest | xargs mv -t latest) -ENV PATH="${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}" - -# Get latest Java SDK -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:latest $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -# Get latest Flutter -ENV FLUTTER_HOME=/usr/bin/flutter -RUN mkdir -p $FLUTTER_HOME &&\ - git clone -b stable https://github.com/flutter/flutter $FLUTTER_HOME -ENV PATH="${FLUTTER_HOME}/bin:${PATH}" -RUN chmod +x $FLUTTER_HOME/bin/flutter &&\ - git config --global --add safe.directory '*' &&\ - flutter precache - -# Install flutter bash completion -RUN chown 1000:1000 $FLUTTER_HOME -R &&\ - chown 1000:1000 $JAVA_HOME -R &&\ - chown 1000:1000 $ANDROID_HOME -R -USER ${USER} - -# Source flutter bash completion -RUN echo 'source <(flutter bash-completion)' >> ~/.bashrc &&\ - sdkmanager --version &&\ - java --version &&\ - flutter doctor From 9621aaf2dae1e0d863cded37799d37ba7c2da57d Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Sun, 1 Mar 2026 17:56:16 +0000 Subject: [PATCH 06/24] chore: set dev-24-trixie tag for devcontainer --- .devcontainer/devcontainer.json | 2 +- src/typo3-frankenphp/.env | 34 ---------------------- src/typo3-frankenphp/Dockerfile copy | 42 ---------------------------- 3 files changed, 1 insertion(+), 77 deletions(-) delete mode 100644 src/typo3-frankenphp/.env delete mode 100644 src/typo3-frankenphp/Dockerfile copy diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f7d6322..c4f2fab 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,6 @@ // More info: https://containers.dev/implementors/json_reference/ { - "image": "mcr.microsoft.com/devcontainers/javascript-node:latest", + "image": "mcr.microsoft.com/devcontainers/javascript-node:dev-24-trixie", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, diff --git a/src/typo3-frankenphp/.env b/src/typo3-frankenphp/.env deleted file mode 100644 index 0e63ff9..0000000 --- a/src/typo3-frankenphp/.env +++ /dev/null @@ -1,34 +0,0 @@ -TZ=Europe/Berlin -COMPOSE_PROJECT_NAME=introduction -DB_CONNECTION_ROOT_PASSWORD=dbroot - -# -# TYPO3 Settings -# ---------------------------------------- -# -# The following settings are used during the installation of TYPO3 -# and are also available in the running container as environment variables. -# In a containerless environment they should be set in a file named TYPO3.env -# placed in the root of the TYPO3 project. -#---------------------------------------- -TYPO3_CONTEXT=Development -#TYPO3_CONTEXT=Production - -TYPO3_INSTALL_DB_DRIVER=mysqli -TYPO3_INSTALL_DB_USER=db -TYPO3_INSTALL_DB_PASSWORD=db -TYPO3_INSTALL_DB_HOST=127.0.0.1 -TYPO3_INSTALL_DB_PORT=3306 -TYPO3_INSTALL_DB_USE_EXISTING=true -TYPO3_INSTALL_DB_DBNAME=db -TYPO3_INSTALL_ADMIN_USER=admin -TYPO3_INSTALL_ADMIN_PASSWORD=Password!1 -TYPO3_INSTALL_SITE_NAME=TYPO3 Introduction Package -TYPO3_INSTALL_SITE_SETUP_TYPE=no -TYPO3_CONFIG_SYS_TRUSTED_HOST_PATTERN="localhost|127.0.0.1" - -#https://www.php.net/manual/en/errorfunc.constants.php - CAUTION - wrong setting could break Image Processing tests in BE -#this includes E_RECOVERABLE_ERROR (4096), E_ERROR (1) -TYPO3_CONFIG_SYS_EXCEPTIONALERRORS=4097 -# this includes E_DEPRECATED (8192), E_RECOVERABLE_ERROR (4096), E_WARNING (2) -#TYPO3_CONFIG_SYS_EXCEPTIONALERRORS=12290 diff --git a/src/typo3-frankenphp/Dockerfile copy b/src/typo3-frankenphp/Dockerfile copy deleted file mode 100644 index ac8eb84..0000000 --- a/src/typo3-frankenphp/Dockerfile copy +++ /dev/null @@ -1,42 +0,0 @@ -FROM mcr.microsoft.com/devcontainers/base:debian - -ARG USER=vscode - -# Install linux dependencies -RUN apt-get update &&\ - apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev &&\ - apt dist-upgrade -y - -# Get latest Android SDK -ENV ANDROID_HOME=/opt/android-sdk-linux -ENV ANDROID_SDK_ROOT=$ANDROID_HOME -COPY --from=mobiledevops/android-sdk-image $ANDROID_HOME $ANDROID_HOME -RUN mkdir $ANDROID_HOME/cmdline-tools/latest &&\ - (cd $ANDROID_HOME/cmdline-tools && ls | grep -v latest | xargs mv -t latest) -ENV PATH="${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}" - -# Get latest Java SDK -ENV JAVA_HOME=/opt/java/openjdk -COPY --from=eclipse-temurin:latest $JAVA_HOME $JAVA_HOME -ENV PATH="${JAVA_HOME}/bin:${PATH}" - -# Get latest Flutter -ENV FLUTTER_HOME=/usr/bin/flutter -RUN mkdir -p $FLUTTER_HOME &&\ - git clone -b stable https://github.com/flutter/flutter $FLUTTER_HOME -ENV PATH="${FLUTTER_HOME}/bin:${PATH}" -RUN chmod +x $FLUTTER_HOME/bin/flutter &&\ - git config --global --add safe.directory '*' &&\ - flutter precache - -# Install flutter bash completion -RUN chown 1000:1000 $FLUTTER_HOME -R &&\ - chown 1000:1000 $JAVA_HOME -R &&\ - chown 1000:1000 $ANDROID_HOME -R -USER ${USER} - -# Source flutter bash completion -RUN echo 'source <(flutter bash-completion)' >> ~/.bashrc &&\ - sdkmanager --version &&\ - java --version &&\ - flutter doctor From 6c7ed7044ff2fe76dda0728998997736d42da3e9 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 13:48:14 +0100 Subject: [PATCH 07/24] chore:: add matrix build for PHP versions --- .github/workflows/publish-containers.yaml | 1 + src/typo3-frankenphp/.devcontainer/Dockerfile | 8 +- .../.devcontainer/devcontainer.json | 6 +- src/typo3-frankenphp/.devcontainer/php.ini | 21 ----- .../.devcontainer/typo3.caddyfile | 79 ------------------- 5 files changed, 9 insertions(+), 106 deletions(-) delete mode 100644 src/typo3-frankenphp/.devcontainer/php.ini delete mode 100644 src/typo3-frankenphp/.devcontainer/typo3.caddyfile diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 269d01e..c7827e4 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -41,6 +41,7 @@ jobs: strategy: matrix: folder: ${{ fromJson(needs.list-files.outputs.folders) }} + PHP_VERSION: [8.5, 8.4, 8.3, 8.2 ] permissions: contents: read packages: write diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index ae1c1c9..d07596b 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -1,4 +1,6 @@ -FROM dunglas/frankenphp:php8.4-trixie +ARG PHP_VERSION=${PHP_VERSION:-8.4} + +FROM dunglas/frankenphp:1-php${PHP_VERSION}-trixie ARG DEVCONTAINER_SERVICE_ID ARG DEVCONTAINER_SERVICE_NAME @@ -27,6 +29,4 @@ RUN apt-get update && \ gd imagick xdebug opcache tokenizer json iconv mbstring curl phar session simplexml xml @composer && \ apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -COPY php.ini /usr/local/etc/php/php.ini - -COPY typo3.caddyfile /etc/frankenphp/Caddyfile +ENTRYPOINT [ "/bin/bash" ] diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index 780e0cd..54f401a 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -1,13 +1,15 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile { - "name": "FrankenPHP 8.4, MariaDB (Dockerfile)", + "name": "FrankenPHP ${PHP_VERSION}, MariaDB (Dockerfile)", "build": { "context": ".", "dockerfile": "Dockerfile", "args": { "DEVCONTAINER_SERVICE_NAME": "devcontainer", - "DEVCONTAINER_SERVICE_ID": "10000" + "DEVCONTAINER_SERVICE_ID": "10000", + "COMPOSE_PROFILES": "frankenphp", + "PHP_VERSION": "${PHP_VERSION:-8.4}" } }, "customizations": { diff --git a/src/typo3-frankenphp/.devcontainer/php.ini b/src/typo3-frankenphp/.devcontainer/php.ini deleted file mode 100644 index 6faadfe..0000000 --- a/src/typo3-frankenphp/.devcontainer/php.ini +++ /dev/null @@ -1,21 +0,0 @@ -upload_max_filesize=24M -post_max_size=24M -always_populate_raw_post_data=1 -max_execution_time=240 -max_input_vars=4500 -memory_limit=256M -pcre.jit = 1 -#extension=gd.so -display_errors = 1 -error_reporting=E_ALL -log_errors = 1 -error_log = ${WORKSPACE_ROOT}/var/log/php_error.log - -[xdebug] -#zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20230831/xdebug.so -xdebug.mode=develop,debug -xdebug.client_host=host.docker.internal -xdebug.start_with_request=yes -xdebug.log = ${WORKSPACE_ROOT}/var/log/xdebug.log -xdebug.client_port=9003 -xdebug.idekey=vscode diff --git a/src/typo3-frankenphp/.devcontainer/typo3.caddyfile b/src/typo3-frankenphp/.devcontainer/typo3.caddyfile deleted file mode 100644 index 03f9bb5..0000000 --- a/src/typo3-frankenphp/.devcontainer/typo3.caddyfile +++ /dev/null @@ -1,79 +0,0 @@ -{ - debug - admin off - auto_https off - - # https://caddyserver.com/docs/caddyfile/directives#sorting-algorithm - order php_server before file_server - order php before file_server -} - -127.0.0.1:80, localhost:80 { - root * {$WORKSPACE_ROOT}/.build/public - - php_server { - root {$WORKSPACE_ROOT}/.build/public - } - - @canonicalPath { - file {path}/index.php - not path */ - } - redir @canonicalPath {path}/ 308 - - # TYPO3 paths for content security policy - @fileadmin { - path /fileadmin/* - } - header @fileadmin ?Content-Security-Policy "default-src 'self'; script-src 'none'; style-src 'none'; object-src 'none'; require-trusted-types-for 'script';" - - # TYPO3 Frontend - @frontend { - not path /typo3/* - file { - try_files {path} {path}/index.php /index.php - split_path .php - } - } - rewrite @frontend {http.matchers.file.relative} - request_header @frontend +TYPO3_FRANKENPHP_MODE frontend - - # TYPO3 Backend - if not set, backend routing will not work! - @backend { - path /typo3/* - not path /typo3/install.php - file { - try_files {path} {path}/index.php /typo3/index.php /index.php - split_path .php - } - } - rewrite @backend {http.matchers.file.relative} - request_header @backend +TYPO3_FRANKENPHP_MODE backend - - encode zstd gzip - - handle @backend { - php_server - # #redir @backend /phpinfo.php - } - - handle @frontend { - php_server { - #worker index.php 1 - } - } - - log { - level debug - # Redact the authorization query parameter that can be set by Mercure - format filter { - wrap console - fields { - uri query { - replace authorization REDACTED - } - } - } - } - log_append HTTP_TYPO3_FRANKENPHP_MODE {http.request.header.TYPO3_FRANKENPHP_MODE} -} From 63fe2af9b05e0affa94bbfd42c2574da338a77d2 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 14:00:42 +0100 Subject: [PATCH 08/24] chore: fix dockerfile --- .github/workflows/publish-containers.yaml | 4 +++- src/typo3-frankenphp/.devcontainer/Dockerfile | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index c7827e4..8f6b954 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -41,7 +41,7 @@ jobs: strategy: matrix: folder: ${{ fromJson(needs.list-files.outputs.folders) }} - PHP_VERSION: [8.5, 8.4, 8.3, 8.2 ] + php_version: [8.5, 8.4, 8.3, 8.2] permissions: contents: read packages: write @@ -73,3 +73,5 @@ jobs: imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} refFilterForPush: "refs/heads/main" + env: + PHP_VERSION: ${{ matrix.php_version }} diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index d07596b..0f35032 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -ARG PHP_VERSION=${PHP_VERSION:-8.4} +ARG PHP_VERSION="${PHP_VERSION:-8.4}" FROM dunglas/frankenphp:1-php${PHP_VERSION}-trixie From fe2c86423b3d3e62b104e371cf7ec293185f3264 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 13:09:29 +0000 Subject: [PATCH 09/24] chore: fix devcontainer --- .devcontainer/devcontainer.json | 4 +++- .github/workflows/publish-containers.yaml | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c4f2fab..f8b1f3b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -2,7 +2,9 @@ { "image": "mcr.microsoft.com/devcontainers/javascript-node:dev-24-trixie", "features": { - "ghcr.io/devcontainers/features/docker-in-docker:2": {} + "ghcr.io/devcontainers/features/docker-in-docker:2": { + "moby": "false" + } }, "customizations": { "vscode": { diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 8f6b954..3153a59 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -73,5 +73,5 @@ jobs: imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} refFilterForPush: "refs/heads/main" - env: - PHP_VERSION: ${{ matrix.php_version }} + env: | + PHP_VERSION=${{ matrix.php_version }} From 08367777b181794db0f28e9cd6a1efdc0e2824e7 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 14:42:43 +0000 Subject: [PATCH 10/24] chore: another try --- src/typo3-frankenphp/.devcontainer/Dockerfile | 2 +- src/typo3-frankenphp/.devcontainer/devcontainer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/typo3-frankenphp/.devcontainer/Dockerfile b/src/typo3-frankenphp/.devcontainer/Dockerfile index 0f35032..1ec208a 100644 --- a/src/typo3-frankenphp/.devcontainer/Dockerfile +++ b/src/typo3-frankenphp/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -ARG PHP_VERSION="${PHP_VERSION:-8.4}" +ARG PHP_VERSION FROM dunglas/frankenphp:1-php${PHP_VERSION}-trixie diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index 54f401a..5edd53a 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -9,7 +9,7 @@ "DEVCONTAINER_SERVICE_NAME": "devcontainer", "DEVCONTAINER_SERVICE_ID": "10000", "COMPOSE_PROFILES": "frankenphp", - "PHP_VERSION": "${PHP_VERSION:-8.4}" + "PHP_VERSION": "${PHP_VERSION}" } }, "customizations": { From abe4c2795ce00f6e76c16d7bf2856d056daff72a Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 15:04:05 +0000 Subject: [PATCH 11/24] chore: fixed env var usage in devcontainer.json --- src/typo3-frankenphp/.devcontainer/devcontainer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index 5edd53a..23391d8 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -1,7 +1,7 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile { - "name": "FrankenPHP ${PHP_VERSION}, MariaDB (Dockerfile)", + "name": "FrankenPHP ${localEnv:PHP_VERSION}, MariaDB (Dockerfile)", "build": { "context": ".", "dockerfile": "Dockerfile", @@ -9,7 +9,7 @@ "DEVCONTAINER_SERVICE_NAME": "devcontainer", "DEVCONTAINER_SERVICE_ID": "10000", "COMPOSE_PROFILES": "frankenphp", - "PHP_VERSION": "${PHP_VERSION}" + "PHP_VERSION": "${localEnv:PHP_VERSION}" } }, "customizations": { From 3d99dc15d71e94aa121abc8a78595b9dacd790cb Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 15:10:50 +0000 Subject: [PATCH 12/24] chore: test variable setting --- .github/workflows/publish-containers.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 3153a59..05b2340 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -73,5 +73,5 @@ jobs: imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} refFilterForPush: "refs/heads/main" - env: | - PHP_VERSION=${{ matrix.php_version }} + env: + PHP_VERSION: ${{ matrix.php_version }} From 12710b56e43400cc7a323065d147d1ab155f0688 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:11:37 +0000 Subject: [PATCH 13/24] chore: imagetag from properties file --- .github/workflows/publish-containers.yaml | 12 +++++++++++- src/typo3-frankenphp/.devcontainer/devcontainer.json | 2 +- src/typo3-frankenphp/ghaction.properties | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 src/typo3-frankenphp/ghaction.properties diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 05b2340..af5e5a1 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -56,6 +56,15 @@ jobs: id: lowercase-repo run: echo "repo=${GITHUB_REPOSITORY@L}" >> $GITHUB_OUTPUT + # read image tag from subdirectory propery file if exists + - name: Read value from Properties-file + id: read-from-ghactions-property-file + uses: christian-draeger/read-properties@1.1.1 + with: + path: "${{ matrix.folder }}/ghaction.properties" + properties: 'imagetag' + continue-on-error: true + # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} @@ -71,7 +80,8 @@ jobs: with: subFolder: src/${{ matrix.folder }} imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} - cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} + imageTag: ${{ steps.read-from-ghactions-property-file.outputs.imagetag || 'latest' }} + cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.read-from-ghactions-property-file.outputs.imagetag || 'latest' }} refFilterForPush: "refs/heads/main" env: PHP_VERSION: ${{ matrix.php_version }} diff --git a/src/typo3-frankenphp/.devcontainer/devcontainer.json b/src/typo3-frankenphp/.devcontainer/devcontainer.json index 23391d8..97b0e0b 100644 --- a/src/typo3-frankenphp/.devcontainer/devcontainer.json +++ b/src/typo3-frankenphp/.devcontainer/devcontainer.json @@ -1,7 +1,7 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-dockerfile { - "name": "FrankenPHP ${localEnv:PHP_VERSION}, MariaDB (Dockerfile)", + "name": "FrankenPHP, PHP ${localEnv:PHP_VERSION}, MariaDB (Dockerfile)", "build": { "context": ".", "dockerfile": "Dockerfile", diff --git a/src/typo3-frankenphp/ghaction.properties b/src/typo3-frankenphp/ghaction.properties new file mode 100644 index 0000000..0789cd3 --- /dev/null +++ b/src/typo3-frankenphp/ghaction.properties @@ -0,0 +1 @@ +imagetag=tag=1-php${{ matrix.php_version }}-trixie \ No newline at end of file From 734a4786a276dc2d64cf8903f5adee112bd10488 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:16:58 +0000 Subject: [PATCH 14/24] chore: fixed path --- .github/workflows/publish-containers.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index af5e5a1..a9b02aa 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -61,7 +61,7 @@ jobs: id: read-from-ghactions-property-file uses: christian-draeger/read-properties@1.1.1 with: - path: "${{ matrix.folder }}/ghaction.properties" + path: "src/${{ matrix.folder }}/ghaction.properties" properties: 'imagetag' continue-on-error: true From eaa3c245b6d207395debf3ce52f8597e1adf2fe9 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:19:41 +0000 Subject: [PATCH 15/24] chore: fixed env var expansion --- .github/workflows/publish-containers.yaml | 2 ++ src/typo3-frankenphp/ghaction.properties | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index a9b02aa..694c7d4 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -64,6 +64,8 @@ jobs: path: "src/${{ matrix.folder }}/ghaction.properties" properties: 'imagetag' continue-on-error: true + env: + PHP_VERSION: ${{ matrix.php_version }} # Login against a Docker registry except on PR # https://github.com/docker/login-action diff --git a/src/typo3-frankenphp/ghaction.properties b/src/typo3-frankenphp/ghaction.properties index 0789cd3..7651da9 100644 --- a/src/typo3-frankenphp/ghaction.properties +++ b/src/typo3-frankenphp/ghaction.properties @@ -1 +1 @@ -imagetag=tag=1-php${{ matrix.php_version }}-trixie \ No newline at end of file +imagetag=tag=1-php${PHP_VERSION}-trixie \ No newline at end of file From 82395d04117a0397c6500a633e5507c3f243c87a Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:27:50 +0000 Subject: [PATCH 16/24] chore: introduced aarcangeli/load-dotenv --- .github/workflows/publish-containers.yaml | 17 +++++++++-------- .../{ghaction.properties => ghaction.env} | 0 2 files changed, 9 insertions(+), 8 deletions(-) rename src/typo3-frankenphp/{ghaction.properties => ghaction.env} (100%) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 694c7d4..b9ca14d 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -57,13 +57,14 @@ jobs: run: echo "repo=${GITHUB_REPOSITORY@L}" >> $GITHUB_OUTPUT # read image tag from subdirectory propery file if exists - - name: Read value from Properties-file - id: read-from-ghactions-property-file - uses: christian-draeger/read-properties@1.1.1 + - uses: aarcangeli/load-dotenv@v1.1.0 + id: read-from-ghactions-env-file with: - path: "src/${{ matrix.folder }}/ghaction.properties" - properties: 'imagetag' - continue-on-error: true + path: "src/${{ matrix.folder }}" + filenames: 'ghaction.env' + quiet: false + if-file-not-found: 'ignore' + expand: true env: PHP_VERSION: ${{ matrix.php_version }} @@ -82,8 +83,8 @@ jobs: with: subFolder: src/${{ matrix.folder }} imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} - imageTag: ${{ steps.read-from-ghactions-property-file.outputs.imagetag || 'latest' }} - cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.read-from-ghactions-property-file.outputs.imagetag || 'latest' }} + imageTag: ${{ steps.read-from-ghactions-env-file.outputs.imagetag || 'latest' }} + cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.read-from-ghactions-env-file.outputs.imagetag || 'latest' }} refFilterForPush: "refs/heads/main" env: PHP_VERSION: ${{ matrix.php_version }} diff --git a/src/typo3-frankenphp/ghaction.properties b/src/typo3-frankenphp/ghaction.env similarity index 100% rename from src/typo3-frankenphp/ghaction.properties rename to src/typo3-frankenphp/ghaction.env From 6290018f6e0247f1483a6d33735342cccacd8098 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:33:33 +0000 Subject: [PATCH 17/24] chore: fix --- src/typo3-frankenphp/ghaction.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/typo3-frankenphp/ghaction.env b/src/typo3-frankenphp/ghaction.env index 7651da9..619957d 100644 --- a/src/typo3-frankenphp/ghaction.env +++ b/src/typo3-frankenphp/ghaction.env @@ -1 +1 @@ -imagetag=tag=1-php${PHP_VERSION}-trixie \ No newline at end of file +imagetag=1-php${PHP_VERSION}-trixie \ No newline at end of file From 307b5bbf61d5b07d86afa2657d3c06836260e8de Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:36:47 +0000 Subject: [PATCH 18/24] chore: test env --- src/typo3-frankenphp/ghaction.env | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/typo3-frankenphp/ghaction.env b/src/typo3-frankenphp/ghaction.env index 619957d..5931af0 100644 --- a/src/typo3-frankenphp/ghaction.env +++ b/src/typo3-frankenphp/ghaction.env @@ -1 +1,2 @@ -imagetag=1-php${PHP_VERSION}-trixie \ No newline at end of file +imagetag=1-php${PHP_VERSION}-trixie +registry=${REGISTRY} \ No newline at end of file From 2f701318b6cc636443bd5914029ecdd6365b1da7 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:38:06 +0000 Subject: [PATCH 19/24] chore: test 2 --- .github/workflows/publish-containers.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index b9ca14d..9dfc5b5 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -62,9 +62,9 @@ jobs: with: path: "src/${{ matrix.folder }}" filenames: 'ghaction.env' - quiet: false + quiet: 'false' if-file-not-found: 'ignore' - expand: true + expand: 'true' env: PHP_VERSION: ${{ matrix.php_version }} From 7a184b1bfed1977619fe1567837f5f725ffe75aa Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:49:38 +0000 Subject: [PATCH 20/24] chore: introduced xom9ikk/dotenv --- .github/workflows/publish-containers.yaml | 11 ++++------- src/typo3-frankenphp/.env | 1 + src/typo3-frankenphp/ghaction.env | 2 -- 3 files changed, 5 insertions(+), 9 deletions(-) create mode 100644 src/typo3-frankenphp/.env delete mode 100644 src/typo3-frankenphp/ghaction.env diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 9dfc5b5..b29bc9b 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -57,14 +57,11 @@ jobs: run: echo "repo=${GITHUB_REPOSITORY@L}" >> $GITHUB_OUTPUT # read image tag from subdirectory propery file if exists - - uses: aarcangeli/load-dotenv@v1.1.0 - id: read-from-ghactions-env-file + - uses: xom9ikk/dotenv@v2.3.0 with: path: "src/${{ matrix.folder }}" - filenames: 'ghaction.env' - quiet: 'false' - if-file-not-found: 'ignore' - expand: 'true' + mode: '' + load-mode: 'skip' env: PHP_VERSION: ${{ matrix.php_version }} @@ -83,7 +80,7 @@ jobs: with: subFolder: src/${{ matrix.folder }} imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} - imageTag: ${{ steps.read-from-ghactions-env-file.outputs.imagetag || 'latest' }} + imageTag: ${{ env.imagetag || 'latest' }} cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.read-from-ghactions-env-file.outputs.imagetag || 'latest' }} refFilterForPush: "refs/heads/main" env: diff --git a/src/typo3-frankenphp/.env b/src/typo3-frankenphp/.env new file mode 100644 index 0000000..619957d --- /dev/null +++ b/src/typo3-frankenphp/.env @@ -0,0 +1 @@ +imagetag=1-php${PHP_VERSION}-trixie \ No newline at end of file diff --git a/src/typo3-frankenphp/ghaction.env b/src/typo3-frankenphp/ghaction.env deleted file mode 100644 index 5931af0..0000000 --- a/src/typo3-frankenphp/ghaction.env +++ /dev/null @@ -1,2 +0,0 @@ -imagetag=1-php${PHP_VERSION}-trixie -registry=${REGISTRY} \ No newline at end of file From 8fb532077c6b49b693895c1f0ef44a03396969d9 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 16:55:50 +0000 Subject: [PATCH 21/24] chore: test --- .github/workflows/publish-containers.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index b29bc9b..28a7d56 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -58,6 +58,7 @@ jobs: # read image tag from subdirectory propery file if exists - uses: xom9ikk/dotenv@v2.3.0 + id: dotenv with: path: "src/${{ matrix.folder }}" mode: '' @@ -80,8 +81,8 @@ jobs: with: subFolder: src/${{ matrix.folder }} imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} - imageTag: ${{ env.imagetag || 'latest' }} - cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.read-from-ghactions-env-file.outputs.imagetag || 'latest' }} + imageTag: ${{ steps.dotenv.outputs.imagetag || 'latest' }} + cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.dotenv.outputs.imagetag || 'latest' }} refFilterForPush: "refs/heads/main" env: PHP_VERSION: ${{ matrix.php_version }} From d4a54f7d011db2740f5b4b02e943186497adc645 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 17:06:13 +0000 Subject: [PATCH 22/24] chore: test 3 --- .github/workflows/publish-containers.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 28a7d56..5a39ef1 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -66,6 +66,10 @@ jobs: env: PHP_VERSION: ${{ matrix.php_version }} + - run: | + echo ${{ steps.dotenv.outputs.imagetag }} + env + # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }} From 77b9646e1b15244da1dcb0bd713786be1c6346b2 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 17:11:13 +0000 Subject: [PATCH 23/24] chore: revert tests --- .github/workflows/publish-containers.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 5a39ef1..7214dab 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -58,7 +58,6 @@ jobs: # read image tag from subdirectory propery file if exists - uses: xom9ikk/dotenv@v2.3.0 - id: dotenv with: path: "src/${{ matrix.folder }}" mode: '' @@ -85,8 +84,8 @@ jobs: with: subFolder: src/${{ matrix.folder }} imageName: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }} - imageTag: ${{ steps.dotenv.outputs.imagetag || 'latest' }} - cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ steps.dotenv.outputs.imagetag || 'latest' }} + imageTag: ${{ env.imagetag || 'latest' }} + cacheFrom: ${{ env.REGISTRY }}/${{ steps.lowercase-repo.outputs.repo }}/${{ matrix.folder }}:${{ env.imagetag || 'latest' }} refFilterForPush: "refs/heads/main" env: PHP_VERSION: ${{ matrix.php_version }} From 4102abd196f5c6eafcf5dcc9cc0ef69cf26284a7 Mon Sep 17 00:00:00 2001 From: Thomas Hucke Date: Mon, 2 Mar 2026 17:17:12 +0000 Subject: [PATCH 24/24] chore: cleanup --- .github/workflows/publish-containers.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/publish-containers.yaml b/.github/workflows/publish-containers.yaml index 7214dab..9304913 100644 --- a/.github/workflows/publish-containers.yaml +++ b/.github/workflows/publish-containers.yaml @@ -65,10 +65,6 @@ jobs: env: PHP_VERSION: ${{ matrix.php_version }} - - run: | - echo ${{ steps.dotenv.outputs.imagetag }} - env - # Login against a Docker registry except on PR # https://github.com/docker/login-action - name: Log into registry ${{ env.REGISTRY }}