diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index f16353691..5b9fa724b 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -50,10 +50,12 @@ jobs: run: | PHP_82_LATEST=$(skopeo inspect docker://docker.io/library/php:8.2 --override-os linux --override-arch amd64 | jq -r '.Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")') PHP_83_LATEST=$(skopeo inspect docker://docker.io/library/php:8.3 --override-os linux --override-arch amd64 | jq -r '.Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")') + PHP_84_LATEST=$(skopeo inspect docker://docker.io/library/php:8.4 --override-os linux --override-arch amd64 | jq -r '.Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")') { - echo php_version="${PHP_83_LATEST},${PHP_82_LATEST}" + echo php_version="${PHP_82_LATEST},${PHP_83_LATEST},${PHP_84_LATEST}" echo php82_version="${PHP_82_LATEST//./-}" echo php83_version="${PHP_83_LATEST//./-}" + echo php84_version="${PHP_84_LATEST//./-}" } >> "${GITHUB_OUTPUT}" # Check if the Docker images must be rebuilt @@ -64,8 +66,9 @@ jobs: FRANKENPHP_82_LATEST=$(skopeo inspect docker://docker.io/dunglas/frankenphp:php8.2 --override-os linux --override-arch amd64 | jq -r '.Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")') FRANKENPHP_83_LATEST=$(skopeo inspect docker://docker.io/dunglas/frankenphp:php8.3 --override-os linux --override-arch amd64 | jq -r '.Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")') + FRANKENPHP_84_LATEST=$(skopeo inspect docker://docker.io/dunglas/frankenphp:php8.4 --override-os linux --override-arch amd64 | jq -r '.Env[] | select(test("^PHP_VERSION=")) | sub("^PHP_VERSION="; "")') - if [[ "${FRANKENPHP_82_LATEST}" == "${PHP_82_LATEST}" ]] && [[ "${FRANKENPHP_83_LATEST}" == "${PHP_83_LATEST}" ]]; then + if [[ "${FRANKENPHP_82_LATEST}" == "${PHP_82_LATEST}" ]] && [[ "${FRANKENPHP_83_LATEST}" == "${PHP_83_LATEST}" ]] && [[ "${FRANKENPHP_84_LATEST}" == "${PHP_84_LATEST}" ]]; then echo skip=true >> "${GITHUB_OUTPUT}" exit 0 fi @@ -87,7 +90,9 @@ jobs: name: Create variants matrix if: ${{ !fromJson(steps.check.outputs.skip) }} id: matrix + shell: bash run: | + set -e METADATA="$(docker buildx bake --print | jq -c)" { echo metadata="${METADATA}" diff --git a/.github/workflows/sanitizers.yaml b/.github/workflows/sanitizers.yaml index 8be1726e6..4d932d8b2 100644 --- a/.github/workflows/sanitizers.yaml +++ b/.github/workflows/sanitizers.yaml @@ -47,7 +47,7 @@ jobs: name: Determine PHP version id: determine-php-version run: | - curl -fsSL 'https://www.php.net/releases/index.php?json&max=1&version=8.3' -o version.json + curl -fsSL 'https://www.php.net/releases/index.php?json&max=1&version=8.4' -o version.json echo version="$(jq -r 'keys[0]' version.json)" >> "$GITHUB_OUTPUT" echo archive="$(jq -r '.[] .source[] | select(.filename |endswith(".xz")) | "https://www.php.net/distributions/" + .filename' version.json)" >> "$GITHUB_OUTPUT" - diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 319a9391a..23da0a9ee 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -82,6 +82,6 @@ jobs: - name: Lint Go code uses: golangci/golangci-lint-action@v6 - if: matrix.php-versions == '8.3' + if: matrix.php-versions == '8.4' with: version: latest diff --git a/dev-alpine.Dockerfile b/dev-alpine.Dockerfile index b731d976a..30de3dac4 100644 --- a/dev-alpine.Dockerfile +++ b/dev-alpine.Dockerfile @@ -47,7 +47,7 @@ RUN apk add --no-cache \ echo 'set auto-load safe-path /' > /root/.gdbinit WORKDIR /usr/local/src/php -RUN git clone --branch=PHP-8.3 https://github.com/php/php-src.git . && \ +RUN git clone --branch=PHP-8.4 https://github.com/php/php-src.git . && \ # --enable-embed is only necessary to generate libphp.so, we don't use this SAPI directly ./buildconf --force && \ ./configure \ diff --git a/dev.Dockerfile b/dev.Dockerfile index fc7ca0336..6d31e9f01 100644 --- a/dev.Dockerfile +++ b/dev.Dockerfile @@ -49,7 +49,7 @@ RUN apt-get update && \ apt-get clean WORKDIR /usr/local/src/php -RUN git clone --branch=PHP-8.3 https://github.com/php/php-src.git . && \ +RUN git clone --branch=PHP-8.4 https://github.com/php/php-src.git . && \ # --enable-embed is only necessary to generate libphp.so, we don't use this SAPI directly ./buildconf --force && \ ./configure \ diff --git a/docker-bake.hcl b/docker-bake.hcl index 9dcd70e7f..b4577d89b 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -7,7 +7,7 @@ variable "VERSION" { } variable "PHP_VERSION" { - default = "8.2,8.3" + default = "8.2,8.3,8.4" } variable "GO_VERSION" { @@ -29,7 +29,7 @@ variable "CACHE" { } variable DEFAULT_PHP_VERSION { - default = "8.3" + default = "8.4" } function "tag" { diff --git a/docs/cn/docker.md b/docs/cn/docker.md index 59e6933d5..335733798 100644 --- a/docs/cn/docker.md +++ b/docs/cn/docker.md @@ -1,7 +1,7 @@ # 构建自定义 Docker 镜像 [FrankenPHP Docker 镜像](https://hub.docker.com/r/dunglas/frankenphp) 基于 [官方 PHP 镜像](https://hub.docker.com/_/php/)。 -Alpine Linux 和 Debian 衍生版适用于常见的处理器架构,且支持 PHP 8.2 和 PHP 8.3。[查看 Tags](https://hub.docker.com/r/dunglas/frankenphp/tags)。 +Alpine Linux 和 Debian 衍生版适用于常见的处理器架构,支持 PHP 8.2、8.3 和 8.4。。[查看 Tags](https://hub.docker.com/r/dunglas/frankenphp/tags)。 ## 如何使用镜像 diff --git a/docs/docker.md b/docs/docker.md index 466a5cbf6..9e3c43f87 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -2,11 +2,11 @@ [FrankenPHP Docker images](https://hub.docker.com/r/dunglas/frankenphp) are based on [official PHP images](https://hub.docker.com/_/php/). Debian and Alpine Linux variants are provided for popular architectures. Debian variants are recommended. -Variants for PHP 8.2 and PHP 8.3 are provided. +Variants for PHP 8.2, 8.3 and 8.4 are provided. The tags follow this pattern: `dunglas/frankenphp:-php-` -* `` and `` are version numbers of FrankenPHP and PHP respectively, with specifities ranging from major (e.g. `1`), minor (e.g. `1.2`) to patch versions (e.g. `1.2.3`). +* `` and `` are version numbers of FrankenPHP and PHP respectively, ranging from major (e.g. `1`), minor (e.g. `1.2`) to patch versions (e.g. `1.2.3`). * `` is either `bookworm` (for Debian Bookworm) or `alpine` (for the latest stable version of Alpine). [Browse tags](https://hub.docker.com/r/dunglas/frankenphp/tags). diff --git a/docs/fr/docker.md b/docs/fr/docker.md index 386cad770..f66575dd5 100644 --- a/docs/fr/docker.md +++ b/docs/fr/docker.md @@ -2,7 +2,7 @@ Les images Docker de [FrankenPHP](https://hub.docker.com/r/dunglas/frankenphp) sont basées sur les [images PHP officielles](https://hub.docker.com/_/php/). Des variantes Debian et Alpine Linux sont fournies pour les architectures populaires. Les variantes Debian sont recommandées. -Des variantes pour PHP 8.2 et PHP 8.3 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags). +Des variantes pour PHP 8.2, 8.3 et 8.4 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags). ## Comment utiliser les images diff --git a/docs/tr/docker.md b/docs/tr/docker.md index 27a3baf8b..4a8eda00c 100644 --- a/docs/tr/docker.md +++ b/docs/tr/docker.md @@ -2,7 +2,7 @@ [Resmi PHP imajları](https://hub.docker.com/_/php/) temel alınarak [FrankenPHP Docker imajları](https://hub.docker.com/r/dunglas/frankenphp) hazırlanmıştır. Popüler mimariler için Debian ve Alpine Linux varyantları sağlanmıştır. Debian dağıtımı tavsiye edilir. -PHP 8.2 ve PHP 8.3 için varyantlar sağlanmıştır. [Etiketlere göz atın](https://hub.docker.com/r/dunglas/frankenphp/tags). +PHP 8.2, 8.3 ve 8.4 için varyantlar sağlanmıştır. [Etiketlere göz atın](https://hub.docker.com/r/dunglas/frankenphp/tags). ## İmajlar Nasıl Kullanılır