From a176f95787a6ff444f563b00b494c24fbac0e1cc Mon Sep 17 00:00:00 2001
From: Erick Hitter <git-contrib@ethitter.com>
Date: Thu, 15 May 2025 19:36:04 -0700
Subject: [PATCH] Add PHP 8.4 image

---
 .gitlab-ci.yml     | 18 ++++++++++++++++++
 php/8.4/Dockerfile | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 php/8.4/Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e47eb26..d8d749f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -143,6 +143,24 @@ build-debian-wp-org-deploy-build-dev:
   except:
     - master
 
+# PHP 8.4
+build-php-8.4-master:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.4" ./php/8.4
+    - docker push "$CI_REGISTRY_IMAGE/php:8.4"
+  only:
+    - master
+  when: manual
+
+build-php-8.4-dev:
+  stage: deploy
+  script:
+    - docker build --pull -t "$CI_REGISTRY_IMAGE/php:8.4-dev" ./php/8.4
+    - docker push "$CI_REGISTRY_IMAGE/php:8.4-dev"
+  except:
+    - master
+
 # PHP 8.3
 build-php-8.3-master:
   stage: deploy
diff --git a/php/8.4/Dockerfile b/php/8.4/Dockerfile
new file mode 100644
index 0000000..2d2d4b3
--- /dev/null
+++ b/php/8.4/Dockerfile
@@ -0,0 +1,46 @@
+FROM php:8.4-bullseye
+
+LABEL maintainer="ethitter"
+LABEL version="1.0"
+
+RUN apt-get update \
+    && apt-get -yqqf install \
+      lsb-release \
+      zip \
+      unzip \
+      rsync \
+      subversion \
+      git \
+      libicu-dev \
+      libpng-dev \
+      libbz2-dev \
+      default-libmysqlclient-dev \
+      libzip-dev \
+      libonig-dev \
+      --fix-missing \
+      --no-install-recommends \
+    && apt-get clean \
+    && rm -rf /var/lib/apt/lists/*
+
+RUN docker-php-ext-install \
+      mbstring \
+      mysqli \
+      intl \
+      gd \
+      zip \
+      bz2 \
+    && pecl install xdebug \
+    && php -m
+
+ENV NVM_DIR /usr/local/nvm
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
+    && chmod +x /usr/local/bin/composer \
+    && composer --version \
+    && mkdir $NVM_DIR \
+    && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash \
+    && . $NVM_DIR/nvm.sh \
+    && nvm --version
+
+ENV PATH=/root/.composer/vendor/bin:$HOME/.composer/vendor/bin:$PATH
-- 
GitLab