diff --git a/.github/workflows/default.yaml b/.github/workflows/default.yaml index 0875528b..ecc2462a 100644 --- a/.github/workflows/default.yaml +++ b/.github/workflows/default.yaml @@ -19,7 +19,7 @@ defaults: env: IMAGE: docksal/cli UPSTREAM_IMAGE: debian - LATEST_VERSION: "8.4" + LATEST_VERSION: "8.5" DOCKSAL_VERSION: develop jobs: @@ -34,42 +34,42 @@ jobs: - platform: linux/amd64 arch: amd64 - version: "8.1" + version: "8.2" runner: ubuntu-24.04 - platform: linux/amd64 arch: amd64 - version: "8.2" + version: "8.3" runner: ubuntu-24.04 - platform: linux/amd64 arch: amd64 - version: "8.3" + version: "8.4" runner: ubuntu-24.04 - platform: linux/amd64 arch: amd64 - version: "8.4" + version: "8.5" runner: ubuntu-24.04 - platform: linux/arm64 arch: arm64 - version: "8.1" + version: "8.2" runner: ubuntu-24.04-arm - platform: linux/arm64 arch: arm64 - version: "8.2" + version: "8.3" runner: ubuntu-24.04-arm - platform: linux/arm64 arch: arm64 - version: "8.3" + version: "8.4" runner: ubuntu-24.04-arm - platform: linux/arm64 arch: arm64 - version: "8.4" + version: "8.5" runner: ubuntu-24.04-arm env: @@ -126,42 +126,43 @@ jobs: - platform: linux/amd64 arch: amd64 - version: "8.1" + + version: "8.2" runner: ubuntu-24.04 - platform: linux/amd64 arch: amd64 - version: "8.2" + version: "8.3" runner: ubuntu-24.04 - platform: linux/amd64 arch: amd64 - version: "8.3" + version: "8.4" runner: ubuntu-24.04 - platform: linux/amd64 arch: amd64 - version: "8.4" + version: "8.5" runner: ubuntu-24.04 - platform: linux/arm64 arch: arm64 - version: "8.1" + version: "8.2" runner: ubuntu-24.04-arm - platform: linux/arm64 arch: arm64 - version: "8.2" + version: "8.3" runner: ubuntu-24.04-arm - platform: linux/arm64 arch: arm64 - version: "8.3" + version: "8.4" runner: ubuntu-24.04-arm - platform: linux/arm64 arch: arm64 - version: "8.4" + version: "8.5" runner: ubuntu-24.04-arm env: @@ -223,10 +224,10 @@ jobs: strategy: matrix: version: - - "8.1" - "8.2" - "8.3" - "8.4" + - "8.5" env: VERSION_PREFIX: php diff --git a/8.1/config/php/opcache.ini b/8.1/config/php/opcache.ini deleted file mode 100644 index bbc72325..00000000 --- a/8.1/config/php/opcache.ini +++ /dev/null @@ -1,3 +0,0 @@ -; Extention settings -[opcache] -opcache.preload=/var/www/.docksal/etc/php/preload.php diff --git a/8.2/Dockerfile b/8.2/Dockerfile index 6d8d1091..a27ef644 100644 --- a/8.2/Dockerfile +++ b/8.2/Dockerfile @@ -1,7 +1,11 @@ -FROM php:8.2.29-fpm-bookworm AS cli +# syntax=docker/dockerfile:1 +# check=skip=SecretsUsedInArgOrEnv (ignore false positives in ARG/ENV) + +FROM php:8.2.30-fpm-bookworm AS cli ARG TARGETARCH ARG DEBIAN_FRONTEND=noninteractive +# SecretsUsedInArgOrEnv false positive ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 # Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/) @@ -304,6 +308,7 @@ COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf ENV \ # ssh-agent proxy socket (requires docksal/ssh-agent) + # SecretsUsedInArgOrEnv false positive SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \ # Set TERM so text editors/etc. can be used TERM=xterm \ diff --git a/8.2/config/php/opcache.ini b/8.2/config/php/opcache.ini index bbc72325..334c5817 100644 --- a/8.2/config/php/opcache.ini +++ b/8.2/config/php/opcache.ini @@ -1,3 +1,5 @@ ; Extention settings [opcache] +# See https://www.php.net/manual/en/opcache.preloading.php opcache.preload=/var/www/.docksal/etc/php/preload.php +opcache.preload_user=docker diff --git a/8.3/Dockerfile b/8.3/Dockerfile index 9584f21b..b692e638 100644 --- a/8.3/Dockerfile +++ b/8.3/Dockerfile @@ -1,7 +1,11 @@ -FROM php:8.3.26-fpm-bookworm AS cli +# syntax=docker/dockerfile:1 +# check=skip=SecretsUsedInArgOrEnv (ignore false positives in ARG/ENV) + +FROM php:8.3.30-fpm-bookworm AS cli ARG TARGETARCH ARG DEBIAN_FRONTEND=noninteractive +# SecretsUsedInArgOrEnv false positive ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 # Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/) @@ -304,6 +308,7 @@ COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf ENV \ # ssh-agent proxy socket (requires docksal/ssh-agent) + # SecretsUsedInArgOrEnv false positive SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \ # Set TERM so text editors/etc. can be used TERM=xterm \ diff --git a/8.3/config/php/opcache.ini b/8.3/config/php/opcache.ini index bbc72325..334c5817 100644 --- a/8.3/config/php/opcache.ini +++ b/8.3/config/php/opcache.ini @@ -1,3 +1,5 @@ ; Extention settings [opcache] +# See https://www.php.net/manual/en/opcache.preloading.php opcache.preload=/var/www/.docksal/etc/php/preload.php +opcache.preload_user=docker diff --git a/8.4/Dockerfile b/8.4/Dockerfile index 14964dd4..13fe0d88 100644 --- a/8.4/Dockerfile +++ b/8.4/Dockerfile @@ -1,7 +1,11 @@ -FROM php:8.4.13-fpm-bookworm AS cli +# syntax=docker/dockerfile:1 +# check=skip=SecretsUsedInArgOrEnv (ignore false positives in ARG/ENV) + +FROM php:8.4.17-fpm-bookworm AS cli ARG TARGETARCH ARG DEBIAN_FRONTEND=noninteractive +# SecretsUsedInArgOrEnv false positive ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 # Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/) @@ -304,6 +308,7 @@ COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf ENV \ # ssh-agent proxy socket (requires docksal/ssh-agent) + # SecretsUsedInArgOrEnv false positive SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \ # Set TERM so text editors/etc. can be used TERM=xterm \ diff --git a/8.4/config/php/opcache.ini b/8.4/config/php/opcache.ini index bbc72325..334c5817 100644 --- a/8.4/config/php/opcache.ini +++ b/8.4/config/php/opcache.ini @@ -1,3 +1,5 @@ ; Extention settings [opcache] +# See https://www.php.net/manual/en/opcache.preloading.php opcache.preload=/var/www/.docksal/etc/php/preload.php +opcache.preload_user=docker diff --git a/8.1/.dockerignore b/8.5/.dockerignore similarity index 100% rename from 8.1/.dockerignore rename to 8.5/.dockerignore diff --git a/8.1/Dockerfile b/8.5/Dockerfile similarity index 95% rename from 8.1/Dockerfile rename to 8.5/Dockerfile index 7bf8fe5c..738a72d3 100644 --- a/8.1/Dockerfile +++ b/8.5/Dockerfile @@ -1,7 +1,11 @@ -FROM php:8.1.33-fpm-bookworm AS cli +# syntax=docker/dockerfile:1 +# check=skip=SecretsUsedInArgOrEnv (ignore false positives in ARG/ENV) + +FROM php:8.5.2-fpm-bookworm AS cli ARG TARGETARCH ARG DEBIAN_FRONTEND=noninteractive +# SecretsUsedInArgOrEnv false positive ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 # Prevent services autoload (http://jpetazzo.github.io/2013/10/06/policy-rc-d-do-not-start-services-automatically/) @@ -118,13 +122,13 @@ RUN set -xe; \ bz2 \ calendar\ exif \ + ftp \ gd \ gettext \ imap \ intl \ ldap \ mysqli \ - opcache \ pcntl \ pdo_mysql \ pdo_pgsql \ @@ -143,9 +147,9 @@ RUN set -xe; \ ssh2 \ xdebug \ xhprof \ - # MSSQL PHP client - pdo_sqlsrv \ - sqlsrv \ + # MSSQL PHP client - not available yet for PHP 8.5 via docker-php-extension-installer + # pdo_sqlsrv \ + # sqlsrv \ ;\ # Disable xdebug and xhprof by default to avoid performance impact # They can be enabled via environment variables at runtime (XDEBUG_ENABLED=1 and XHPROF_ENABLED=1) @@ -163,8 +167,11 @@ ENV \ WPCLI_VERSION=2.12.0 \ PLATFORMSH_CLI_VERSION=5.6.0 \ ACQUIA_CLI_VERSION=2.55.0 \ - # Pin Terminus 3.6.2 for PHP 8.1 - TERMINUS_VERSION=3.6.2 \ + # Terminus does not yet support PHP 8.5 officially. + # This env var allows running it on newer PHP versions regardless. + # https://github.com/pantheon-systems/terminus/issues/2751 + TERMINUS_ALLOW_UNSUPPORTED_NEWER_PHP=1 \ + TERMINUS_VERSION=4.1.1 \ JQ_VERSION=1.8.1 \ YQ_VERSION=4.50.1 RUN set -xe; \ @@ -304,6 +311,7 @@ COPY config/php/zz-php-fpm.conf /usr/local/etc/php-fpm.d/zz-php-fpm.conf ENV \ # ssh-agent proxy socket (requires docksal/ssh-agent) + # SecretsUsedInArgOrEnv false positive SSH_AUTH_SOCK=/.ssh-agent/proxy-socket \ # Set TERM so text editors/etc. can be used TERM=xterm \ diff --git a/8.1/Makefile b/8.5/Makefile similarity index 99% rename from 8.1/Makefile rename to 8.5/Makefile index 1aa4884c..53b42c1d 100644 --- a/8.1/Makefile +++ b/8.5/Makefile @@ -3,7 +3,7 @@ IMAGE ?= docksal/cli VERSION_PREFIX ?= php -VERSION ?= 8.1 +VERSION ?= 8.5 BUILD_IMAGE_TAG ?= $(IMAGE):$(VERSION_PREFIX)$(VERSION)-build NAME = docksal-cli-$(VERSION)-$(GIT_SHA7) CWD = $(shell pwd) diff --git a/8.1/config/.ssh/config b/8.5/config/.ssh/config similarity index 100% rename from 8.1/config/.ssh/config rename to 8.5/config/.ssh/config diff --git a/8.1/config/.ssh/id_rsa.tmpl b/8.5/config/.ssh/id_rsa.tmpl similarity index 100% rename from 8.1/config/.ssh/id_rsa.tmpl rename to 8.5/config/.ssh/id_rsa.tmpl diff --git a/8.1/config/.terminus/config.yml b/8.5/config/.terminus/config.yml similarity index 100% rename from 8.1/config/.terminus/config.yml rename to 8.5/config/.terminus/config.yml diff --git a/8.1/config/code-server/User/settings.json b/8.5/config/code-server/User/settings.json similarity index 100% rename from 8.1/config/code-server/User/settings.json rename to 8.5/config/code-server/User/settings.json diff --git a/8.1/config/code-server/config.yaml.tmpl b/8.5/config/code-server/config.yaml.tmpl similarity index 100% rename from 8.1/config/code-server/config.yaml.tmpl rename to 8.5/config/code-server/config.yaml.tmpl diff --git a/8.5/config/php/opcache.ini b/8.5/config/php/opcache.ini new file mode 100644 index 00000000..334c5817 --- /dev/null +++ b/8.5/config/php/opcache.ini @@ -0,0 +1,5 @@ +; Extention settings +[opcache] +# See https://www.php.net/manual/en/opcache.preloading.php +opcache.preload=/var/www/.docksal/etc/php/preload.php +opcache.preload_user=docker diff --git a/8.1/config/php/xdebug.ini b/8.5/config/php/xdebug.ini similarity index 100% rename from 8.1/config/php/xdebug.ini rename to 8.5/config/php/xdebug.ini diff --git a/8.1/config/php/xhprof.ini b/8.5/config/php/xhprof.ini similarity index 100% rename from 8.1/config/php/xhprof.ini rename to 8.5/config/php/xhprof.ini diff --git a/8.1/config/php/zz-php-fpm.conf b/8.5/config/php/zz-php-fpm.conf similarity index 100% rename from 8.1/config/php/zz-php-fpm.conf rename to 8.5/config/php/zz-php-fpm.conf diff --git a/8.1/config/php/zz-php.ini b/8.5/config/php/zz-php.ini similarity index 100% rename from 8.1/config/php/zz-php.ini rename to 8.5/config/php/zz-php.ini diff --git a/8.1/config/supervisor/supervisord-code-server.conf.tmpl b/8.5/config/supervisor/supervisord-code-server.conf.tmpl similarity index 100% rename from 8.1/config/supervisor/supervisord-code-server.conf.tmpl rename to 8.5/config/supervisor/supervisord-code-server.conf.tmpl diff --git a/8.1/config/supervisor/supervisord-crond.conf b/8.5/config/supervisor/supervisord-crond.conf similarity index 100% rename from 8.1/config/supervisor/supervisord-crond.conf rename to 8.5/config/supervisor/supervisord-crond.conf diff --git a/8.1/config/supervisor/supervisord-php-fpm.conf b/8.5/config/supervisor/supervisord-php-fpm.conf similarity index 100% rename from 8.1/config/supervisor/supervisord-php-fpm.conf rename to 8.5/config/supervisor/supervisord-php-fpm.conf diff --git a/8.1/config/supervisor/supervisord-sshd.conf b/8.5/config/supervisor/supervisord-sshd.conf similarity index 100% rename from 8.1/config/supervisor/supervisord-sshd.conf rename to 8.5/config/supervisor/supervisord-sshd.conf diff --git a/8.1/config/supervisor/supervisord.conf b/8.5/config/supervisor/supervisord.conf similarity index 100% rename from 8.1/config/supervisor/supervisord.conf rename to 8.5/config/supervisor/supervisord.conf diff --git a/8.1/healthcheck.sh b/8.5/healthcheck.sh similarity index 100% rename from 8.1/healthcheck.sh rename to 8.5/healthcheck.sh diff --git a/8.1/ping-web.sh b/8.5/ping-web.sh similarity index 100% rename from 8.1/ping-web.sh rename to 8.5/ping-web.sh diff --git a/8.1/startup.sh b/8.5/startup.sh similarity index 100% rename from 8.1/startup.sh rename to 8.5/startup.sh diff --git a/8.1/tests/essential-binaries.sh b/8.5/tests/essential-binaries.sh similarity index 100% rename from 8.1/tests/essential-binaries.sh rename to 8.5/tests/essential-binaries.sh diff --git a/8.1/tests/php-modules.sh b/8.5/tests/php-modules.sh similarity index 97% rename from 8.1/tests/php-modules.sh rename to 8.5/tests/php-modules.sh index a74431a5..0b789415 100755 --- a/8.1/tests/php-modules.sh +++ b/8.5/tests/php-modules.sh @@ -25,6 +25,7 @@ imap intl json ldap +lexbor libxml mbstring memcached @@ -37,10 +38,10 @@ PDO pdo_mysql pdo_pgsql pdo_sqlite -pdo_sqlsrv pgsql Phar posix +random readline redis Reflection @@ -51,11 +52,11 @@ sockets sodium SPL sqlite3 -sqlsrv ssh2 standard sysvsem tokenizer +uri xml xmlreader xmlwriter @@ -93,6 +94,7 @@ imap intl json ldap +lexbor libxml mbstring memcached @@ -105,10 +107,10 @@ PDO pdo_mysql pdo_pgsql pdo_sqlite -pdo_sqlsrv pgsql Phar posix +random readline redis Reflection @@ -119,11 +121,11 @@ sockets sodium SPL sqlite3 -sqlsrv ssh2 standard sysvsem tokenizer +uri xml xmlreader xmlwriter diff --git a/README.md b/README.md index a0c8c1bf..c8304738 100644 --- a/README.md +++ b/README.md @@ -19,15 +19,15 @@ This image(s) is part of the [Docksal](https://docksal.io) image library. ## Versions and image tag naming convention - Stable image versions - - `docksal/cli:php8.1-3.10`, `docksal/cli:php8.1` - PHP 8.1 - `docksal/cli:php8.2-3.10`, `docksal/cli:php8.2` - PHP 8.2 - `docksal/cli:php8.3-3.10`, `docksal/cli:php8.3` - PHP 8.3 - - `docksal/cli:php8.4-3.10`, `docksal/cli:php8.4`, `docksal/cli:latest` - PHP 8.4 + - `docksal/cli:php8.4-3.10`, `docksal/cli:php8.4` - PHP 8.4 + - `docksal/cli:php8.5-3.10`, `docksal/cli:php8.5`, `docksal/cli:latest` - PHP 8.5 - Development image versions - - `docksal/cli:php8.1-edge` - PHP 8.1 - `docksal/cli:php8.2-edge` - PHP 8.2 - `docksal/cli:php8.3-edge` - PHP 8.3 - - `docksal/cli:php8.3-edge` - PHP 8.3 + - `docksal/cli:php8.4-edge` - PHP 8.4 + - `docksal/cli:php8.5-edge` - PHP 8.5 ## PHP diff --git a/tests/.docksal/etc/php/preload.php b/tests/.docksal/etc/php/preload.php index a4abe2da..49bb5b9f 100644 --- a/tests/.docksal/etc/php/preload.php +++ b/tests/.docksal/etc/php/preload.php @@ -1,2 +1,4 @@