From 332b67e3cb18990e21bd0c80c66a530cba5f12bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 15 Dec 2025 09:36:43 +0100 Subject: [PATCH 1/3] ci: verbose logs for StaticPHP --- .github/workflows/static.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/static.yaml b/.github/workflows/static.yaml index 3f7c645c3..82418fe7b 100644 --- a/.github/workflows/static.yaml +++ b/.github/workflows/static.yaml @@ -4,6 +4,9 @@ concurrency: cancel-in-progress: true group: ${{ github.workflow }}-${{ github.ref }} +env: + SPC_OPT_BUILD_ARGS: --debug + on: pull_request: branches: From d56b6c51b8691fb7e2dd3d8d02d7589ffd6f6414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Mon, 15 Dec 2025 13:55:32 +0100 Subject: [PATCH 2/3] fix --- .github/workflows/static.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/static.yaml b/.github/workflows/static.yaml index 82418fe7b..cb97a302b 100644 --- a/.github/workflows/static.yaml +++ b/.github/workflows/static.yaml @@ -4,16 +4,13 @@ concurrency: cancel-in-progress: true group: ${{ github.workflow }}-${{ github.ref }} -env: - SPC_OPT_BUILD_ARGS: --debug - on: pull_request: branches: - main paths: - "docker-bake.hcl" - - ".github/workflows/docker.yaml" + - ".github/workflows/static.yaml" - "**cgo.go" - "**Dockerfile" - "**.c" @@ -40,6 +37,7 @@ permissions: env: IMAGE_NAME: ${{ (github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && inputs.version) || startsWith(github.ref, 'refs/tags/')) && 'dunglas/frankenphp' || 'dunglas/frankenphp-dev' }} + SPC_OPT_BUILD_ARGS: --debug GOTOOLCHAIN: local jobs: From b56f32d655b87d785b6f74c4a45b0e1ce0d75946 Mon Sep 17 00:00:00 2001 From: henderkes Date: Mon, 15 Dec 2025 15:52:46 +0100 Subject: [PATCH 3/3] add SPC_OPT_BUILD_ARGS to docker from env --- docker-bake.hcl | 6 ++++++ static-builder-gnu.Dockerfile | 7 +++++-- static-builder-musl.Dockerfile | 10 ++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index b32f44388..ec4a8d52a 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -14,6 +14,10 @@ variable "GO_VERSION" { default = "1.25" } +variable "SPC_OPT_BUILD_ARGS" { + default = "" +} + variable "SHA" {} variable "LATEST" { @@ -146,6 +150,7 @@ target "static-builder-musl" { args = { FRANKENPHP_VERSION = VERSION CI = CI + SPC_OPT_BUILD_ARGS = SPC_OPT_BUILD_ARGS } secret = ["id=github-token,env=GITHUB_TOKEN"] } @@ -171,6 +176,7 @@ target "static-builder-gnu" { FRANKENPHP_VERSION = VERSION GO_VERSION = GO_VERSION CI = CI + SPC_OPT_BUILD_ARGS = SPC_OPT_BUILD_ARGS } secret = ["id=github-token,env=GITHUB_TOKEN"] } diff --git a/static-builder-gnu.Dockerfile b/static-builder-gnu.Dockerfile index 96d03472d..680c2c213 100644 --- a/static-builder-gnu.Dockerfile +++ b/static-builder-gnu.Dockerfile @@ -12,9 +12,11 @@ ENV PHP_VERSION=${PHP_VERSION} # args passed to static-php-cli ARG PHP_EXTENSIONS='' ARG PHP_EXTENSION_LIBS='' +ARG SPC_OPT_BUILD_ARGS # args passed to xcaddy -ARG XCADDY_ARGS='' +ARG XCADDY_ARGS='--with github.com/dunglas/caddy-cbrotli --with github.com/dunglas/mercure/caddy --with github.com/dunglas/vulcain/caddy' +ENV SPC_CMD_VAR_FRANKENPHP_XCADDY_MODULES="${XCADDY_ARGS}" ARG CLEAN='' ARG EMBED='' ARG DEBUG_SYMBOLS='' @@ -121,7 +123,8 @@ ENV SPC_DEFAULT_C_FLAGS='-fPIE -fPIC -O3' ENV SPC_LIBC='glibc' ENV SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS_PROGRAM='-Wl,-O3 -pie' ENV SPC_CMD_VAR_PHP_MAKE_EXTRA_LIBS='-ldl -lpthread -lm -lresolv -lutil -lrt' -ENV SPC_OPT_BUILD_ARGS='--with-config-file-path=/etc/frankenphp --with-config-file-scan-dir=/etc/frankenphp/php.d' +# Keep default config paths and append any externally provided SPC_OPT_BUILD_ARGS (e.g., from CI) +ENV SPC_OPT_BUILD_ARGS="--with-config-file-path=/etc/frankenphp --with-config-file-scan-dir=/etc/frankenphp/php.d ${SPC_OPT_BUILD_ARGS}" ENV SPC_REL_TYPE='binary' ENV EXTENSION_DIR='/usr/lib/frankenphp/modules' diff --git a/static-builder-musl.Dockerfile b/static-builder-musl.Dockerfile index d388a53d6..673a2fc44 100644 --- a/static-builder-musl.Dockerfile +++ b/static-builder-musl.Dockerfile @@ -12,9 +12,14 @@ ENV FRANKENPHP_VERSION=${FRANKENPHP_VERSION} ARG PHP_VERSION='' ENV PHP_VERSION=${PHP_VERSION} +# args passed to static-php-cli ARG PHP_EXTENSIONS='' ARG PHP_EXTENSION_LIBS='' -ARG XCADDY_ARGS='' +ARG SPC_OPT_BUILD_ARGS + +# args passed to xcaddy +ARG XCADDY_ARGS='--with github.com/dunglas/caddy-cbrotli --with github.com/dunglas/mercure/caddy --with github.com/dunglas/vulcain/caddy' +ENV SPC_CMD_VAR_FRANKENPHP_XCADDY_MODULES="${XCADDY_ARGS}" ARG CLEAN='' ARG EMBED='' ARG DEBUG_SYMBOLS='' @@ -99,7 +104,8 @@ COPY --link . ./ ENV SPC_DEFAULT_C_FLAGS='-fPIE -fPIC -O3' ENV SPC_LIBC='musl' ENV SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS_PROGRAM='-Wl,-O3 -pie' -ENV SPC_OPT_BUILD_ARGS='--with-config-file-path=/etc/frankenphp --with-config-file-scan-dir=/etc/frankenphp/php.d' +# Keep default config paths and append any externally provided SPC_OPT_BUILD_ARGS (e.g., from CI) +ENV SPC_OPT_BUILD_ARGS="--with-config-file-path=/etc/frankenphp --with-config-file-scan-dir=/etc/frankenphp/php.d ${SPC_OPT_BUILD_ARGS}" ENV SPC_REL_TYPE='binary' ENV EXTENSION_DIR='/usr/lib/frankenphp/modules'