From c4744c094cae18eaf22d75d9e5b26d26d713f25b Mon Sep 17 00:00:00 2001
From: Magnus Walbeck <mw@mwalbeck.org>
Date: Sat, 23 Nov 2024 15:08:56 +0100
Subject: [PATCH] Add php 8.4

---
 .drone.star         |  4 ++-
 .drone.yml          | 72 +++++++++++++++++++++++++++++++++++++++++++--
 2-php8.3/Dockerfile |  2 +-
 2-php8.4/Dockerfile | 32 ++++++++++++++++++++
 4 files changed, 106 insertions(+), 4 deletions(-)
 create mode 100644 2-php8.4/Dockerfile

diff --git a/.drone.star b/.drone.star
index eedfb2d..2072c11 100644
--- a/.drone.star
+++ b/.drone.star
@@ -4,9 +4,11 @@ def main(ctx):
         test("2_php8.1", "2-php8.1"),
         test("2_php8.2", "2-php8.2"),
         test("2_php8.3", "2-php8.3"),
+        test("2_php8.4", "2-php8.4"),
         release("2_php8.1", "2-php8.1", app_env = "php8.1"),
         release("2_php8.2", "2-php8.2", app_env = "php8.2"),
-        release("2_php8.3", "2-php8.3", app_env = "php8.3", custom_tags = "latest"),
+        release("2_php8.3", "2-php8.3", app_env = "php8.3"),
+        release("2_php8.4", "2-php8.4", app_env = "php8.4", custom_tags = "latest"),
     ]
 
 def lint():
diff --git a/.drone.yml b/.drone.yml
index 50a6db7..65051a7 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -110,6 +110,35 @@ trigger:
 depends_on:
 - lint
 
+---
+kind: pipeline
+type: docker
+name: test_2_php8.4
+
+platform:
+  os: linux
+  arch: amd64
+
+steps:
+- name: build test
+  pull: if-not-exists
+  image: plugins/docker
+  settings:
+    dockerfile: 2-php8.4/Dockerfile
+    dry_run: true
+    password:
+      from_secret: dockerhub_password_ro
+    repo: mwalbeck/composer
+    username:
+      from_secret: dockerhub_username
+
+trigger:
+  event:
+  - pull_request
+
+depends_on:
+- lint
+
 ---
 kind: pipeline
 type: docker
@@ -204,7 +233,6 @@ steps:
   environment:
     APP_ENV: php8.3
     APP_NAME: COMPOSER
-    CUSTOM_TAGS: latest
     DOCKERFILE_PATH: 2-php8.3/Dockerfile
     VERSION_TYPE: docker_env
 
@@ -228,8 +256,48 @@ trigger:
 depends_on:
 - lint
 
+---
+kind: pipeline
+type: docker
+name: release_2_php8.4
+
+platform:
+  os: linux
+  arch: amd64
+
+steps:
+- name: determine tags
+  pull: if-not-exists
+  image: mwalbeck/determine-docker-tags
+  environment:
+    APP_ENV: php8.4
+    APP_NAME: COMPOSER
+    CUSTOM_TAGS: latest
+    DOCKERFILE_PATH: 2-php8.4/Dockerfile
+    VERSION_TYPE: docker_env
+
+- name: build and publish
+  pull: if-not-exists
+  image: plugins/docker
+  settings:
+    dockerfile: 2-php8.4/Dockerfile
+    password:
+      from_secret: dockerhub_password
+    repo: mwalbeck/composer
+    username:
+      from_secret: dockerhub_username
+
+trigger:
+  branch:
+  - master
+  event:
+  - push
+
+depends_on:
+- lint
+
 ---
 kind: signature
-hmac: 44c839f467ea963442ae6dfa09469525e9b4b9aa91e1cebb2bb33f856defa837
+hmac: fcc372edef5a413432143b6d9eb88cd8424d73d901013787350f6011ce9fde31
 
 ...
diff --git a/2-php8.3/Dockerfile b/2-php8.3/Dockerfile
index e674794..af08353 100644
--- a/2-php8.3/Dockerfile
+++ b/2-php8.3/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:8.3.14-cli-bookworm@sha256:cfa1b14dbd65ed57b1fece734be8278f3c2160fcb90b9386d58b95573400bad1
+FROM php:8.4.1-cli-bullseye@sha256:48b490931c76bea55d3736b7716348723da64620d52f559cf846a729009b5ac8
 
 SHELL [ "/bin/bash", "-exo", "pipefail", "-c" ]
 
diff --git a/2-php8.4/Dockerfile b/2-php8.4/Dockerfile
new file mode 100644
index 0000000..e674794
--- /dev/null
+++ b/2-php8.4/Dockerfile
@@ -0,0 +1,32 @@
+FROM php:8.3.14-cli-bookworm@sha256:cfa1b14dbd65ed57b1fece734be8278f3c2160fcb90b9386d58b95573400bad1
+
+SHELL [ "/bin/bash", "-exo", "pipefail", "-c" ]
+
+# renovate: datasource=github-tags depName=composer/composer versioning=semver
+ENV COMPOSER_VERSION 2.8.3
+ENV COMPOSER_INSTALLER_COMMIT 459bcaab2cc03f1656dd7b065d500d0cf3070e3f
+ENV COMPOSER_INSTALLER_HASH 756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3
+
+RUN apt-get update; \
+    apt-get install -y --no-install-recommends \
+        git \
+        unzip \
+        zip \
+    ; \
+    curl -o /tmp/composer-installer.php \
+    https://raw.githubusercontent.com/composer/getcomposer.org/${COMPOSER_INSTALLER_COMMIT}/web/installer; \
+    \
+    echo "${COMPOSER_INSTALLER_HASH} /tmp/composer-installer.php" | sha384sum -c -; \
+    \
+    php /tmp/composer-installer.php --no-ansi --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION}; \
+    \
+    composer diagnose; \
+    rm -f /tmp/composer-installer.php; \
+    \
+    rm -rf /var/lib/apt/lists/*;
+
+WORKDIR /tmp
+
+USER nobody
+
+CMD [ "composer" ]