diff --git a/.github/workflows/static.yaml b/.github/workflows/static.yaml index 3f7c645c3..cb97a302b 100644 --- a/.github/workflows/static.yaml +++ b/.github/workflows/static.yaml @@ -10,7 +10,7 @@ on: - main paths: - "docker-bake.hcl" - - ".github/workflows/docker.yaml" + - ".github/workflows/static.yaml" - "**cgo.go" - "**Dockerfile" - "**.c" @@ -37,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: 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'