Skip to content

Commit 449a0e7

Browse files
authored
ci: build PHP 8.4 Docker images (#1183)
* ci: add PHP 8.4 to the CD pipeline * fix: revert to 8.3 for Static PHP CLI * fix
1 parent 08e99fc commit 449a0e7

File tree

10 files changed

+18
-13
lines changed

10 files changed

+18
-13
lines changed

.github/workflows/docker.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,12 @@ jobs:
5050
run: |
5151
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="; "")')
5252
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="; "")')
53+
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="; "")')
5354
{
54-
echo php_version="${PHP_83_LATEST},${PHP_82_LATEST}"
55+
echo php_version="${PHP_82_LATEST},${PHP_83_LATEST},${PHP_84_LATEST}"
5556
echo php82_version="${PHP_82_LATEST//./-}"
5657
echo php83_version="${PHP_83_LATEST//./-}"
58+
echo php84_version="${PHP_84_LATEST//./-}"
5759
} >> "${GITHUB_OUTPUT}"
5860
5961
# Check if the Docker images must be rebuilt
@@ -64,8 +66,9 @@ jobs:
6466
6567
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="; "")')
6668
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="; "")')
69+
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="; "")')
6770
68-
if [[ "${FRANKENPHP_82_LATEST}" == "${PHP_82_LATEST}" ]] && [[ "${FRANKENPHP_83_LATEST}" == "${PHP_83_LATEST}" ]]; then
71+
if [[ "${FRANKENPHP_82_LATEST}" == "${PHP_82_LATEST}" ]] && [[ "${FRANKENPHP_83_LATEST}" == "${PHP_83_LATEST}" ]] && [[ "${FRANKENPHP_84_LATEST}" == "${PHP_84_LATEST}" ]]; then
6972
echo skip=true >> "${GITHUB_OUTPUT}"
7073
exit 0
7174
fi
@@ -87,7 +90,9 @@ jobs:
8790
name: Create variants matrix
8891
if: ${{ !fromJson(steps.check.outputs.skip) }}
8992
id: matrix
93+
shell: bash
9094
run: |
95+
set -e
9196
METADATA="$(docker buildx bake --print | jq -c)"
9297
{
9398
echo metadata="${METADATA}"

.github/workflows/sanitizers.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
name: Determine PHP version
4848
id: determine-php-version
4949
run: |
50-
curl -fsSL 'https://www.php.net/releases/index.php?json&max=1&version=8.3' -o version.json
50+
curl -fsSL 'https://www.php.net/releases/index.php?json&max=1&version=8.4' -o version.json
5151
echo version="$(jq -r 'keys[0]' version.json)" >> "$GITHUB_OUTPUT"
5252
echo archive="$(jq -r '.[] .source[] | select(.filename |endswith(".xz")) | "https://www.php.net/distributions/" + .filename' version.json)" >> "$GITHUB_OUTPUT"
5353
-

.github/workflows/tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,6 @@ jobs:
8282
-
8383
name: Lint Go code
8484
uses: golangci/golangci-lint-action@v6
85-
if: matrix.php-versions == '8.3'
85+
if: matrix.php-versions == '8.4'
8686
with:
8787
version: latest

dev-alpine.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ RUN apk add --no-cache \
4747
echo 'set auto-load safe-path /' > /root/.gdbinit
4848

4949
WORKDIR /usr/local/src/php
50-
RUN git clone --branch=PHP-8.3 https://github.com/php/php-src.git . && \
50+
RUN git clone --branch=PHP-8.4 https://github.com/php/php-src.git . && \
5151
# --enable-embed is only necessary to generate libphp.so, we don't use this SAPI directly
5252
./buildconf --force && \
5353
./configure \

dev.Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ RUN apt-get update && \
4949
apt-get clean
5050

5151
WORKDIR /usr/local/src/php
52-
RUN git clone --branch=PHP-8.3 https://github.com/php/php-src.git . && \
52+
RUN git clone --branch=PHP-8.4 https://github.com/php/php-src.git . && \
5353
# --enable-embed is only necessary to generate libphp.so, we don't use this SAPI directly
5454
./buildconf --force && \
5555
./configure \

docker-bake.hcl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ variable "VERSION" {
77
}
88

99
variable "PHP_VERSION" {
10-
default = "8.2,8.3"
10+
default = "8.2,8.3,8.4"
1111
}
1212

1313
variable "GO_VERSION" {
@@ -29,7 +29,7 @@ variable "CACHE" {
2929
}
3030

3131
variable DEFAULT_PHP_VERSION {
32-
default = "8.3"
32+
default = "8.4"
3333
}
3434

3535
function "tag" {

docs/cn/docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# 构建自定义 Docker 镜像
22

33
[FrankenPHP Docker 镜像](https://hub.docker.com/r/dunglas/frankenphp) 基于 [官方 PHP 镜像](https://hub.docker.com/_/php/)
4-
Alpine Linux 和 Debian 衍生版适用于常见的处理器架构,且支持 PHP 8.2 和 PHP 8.3[查看 Tags](https://hub.docker.com/r/dunglas/frankenphp/tags)
4+
Alpine Linux 和 Debian 衍生版适用于常见的处理器架构,支持 PHP 8.2、8.38.4。[查看 Tags](https://hub.docker.com/r/dunglas/frankenphp/tags)
55

66
## 如何使用镜像
77

docs/docker.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
[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.
44

5-
Variants for PHP 8.2 and PHP 8.3 are provided.
5+
Variants for PHP 8.2, 8.3 and 8.4 are provided.
66

77
The tags follow this pattern: `dunglas/frankenphp:<frankenphp-version>-php<php-version>-<os>`
88

9-
* `<frankenphp-version>` and `<php-version>` 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`).
9+
* `<frankenphp-version>` and `<php-version>` 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`).
1010
* `<os>` is either `bookworm` (for Debian Bookworm) or `alpine` (for the latest stable version of Alpine).
1111

1212
[Browse tags](https://hub.docker.com/r/dunglas/frankenphp/tags).

docs/fr/docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
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.
44

5-
Des variantes pour PHP 8.2 et PHP 8.3 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags).
5+
Des variantes pour PHP 8.2, 8.3 et 8.4 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags).
66

77
## Comment utiliser les images
88

docs/tr/docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[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.
44

5-
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).
5+
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).
66

77
## İmajlar Nasıl Kullanılır
88

0 commit comments

Comments
 (0)