Skip to content

Commit 9e32d8e

Browse files
committed
feat: add php 8.4 support
1 parent 26dcc4a commit 9e32d8e

File tree

6 files changed

+67
-7
lines changed

6 files changed

+67
-7
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
os_name: ["alpine"]
30-
php_version: ["8.1", "8.2", "8.3"]
30+
php_version: ["8.1", "8.2", "8.3", "8.4"]
3131
php_type: ["fpm", "cli", "supervisord"]
3232
builder: [{arch: "amd64", os: "ubuntu-latest"}, {arch: "arm64", os: "ubuntu-latest"}]
3333
runs-on: ${{ matrix.builder.os }}

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
fail-fast: false
2222
matrix:
2323
os_name: ["alpine"]
24-
php_version: ["8.1", "8.2", "8.3"]
24+
php_version: ["8.1", "8.2", "8.3", "8.4"]
2525
php_type: ["fpm", "cli", "supervisord"]
2626
builder: [{arch: "amd64", os: "ubuntu-latest"}]
2727
runs-on: ${{ matrix.builder.os }}

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export COMPOSE_DOCKER_CLI_BUILD ?= 1
88
DOCKER ?= docker
99

1010
IMAGE_NAMESPACE ?= wayofdev/php-base
11-
IMAGE_TEMPLATE ?= 8.3-fpm-alpine
11+
IMAGE_TEMPLATE ?= 8.4-fpm-alpine
1212
IMAGE_TAG ?= $(IMAGE_NAMESPACE):$(IMAGE_TEMPLATE)-latest
1313

1414
DOCKERFILE_DIR ?= ./dist/base/$(IMAGE_TEMPLATE)

README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
The `docker-php-base` project is a **system** for creating and maintaining **PHP Docker images**.
2525

26-
It uses **Ansible** to generate **Dockerfiles** for multiple PHP versions (7.4, 8.0, **8.1, 8.2, 8.3**) and types (**CLI, FPM, Supervisord**) on **Alpine Linux**.
26+
It uses **Ansible** to generate **Dockerfiles** for multiple PHP versions (7.4, 8.0, **8.1, 8.2, 8.3, 8.4**) and types (**CLI, FPM, Supervisord**) on **Alpine Linux**.
2727

2828
The project automates the build process using **GitHub Actions**, creating multi-architecture images (**AMD64** and **ARM64**) that are tested with [goss](https://github.com/goss-org/goss).
2929

@@ -37,7 +37,7 @@ If you **like/use** this package, please consider ⭐️ **starring** it. Thanks
3737

3838
## 🚀 Features
3939

40-
- **Multiple PHP Versions:** Supports PHP 7.4, 8.0, 8.1, 8.2, and 8.3.
40+
- **Multiple PHP Versions:** Supports PHP 7.4, 8.0, 8.1, 8.2, 8.3 and **8.4**.
4141
- **Various PHP Types:** Includes CLI, FPM, and Supervisord configurations.
4242
- **Alpine-based:** Lightweight images built on Alpine Linux.
4343
- **Pre-configured Extensions:** Comes with a wide range of pre-installed PHP extensions.
@@ -57,7 +57,7 @@ If you **like/use** this package, please consider ⭐️ **starring** it. Thanks
5757
- **GitHub Actions:** CI/CD pipeline for automated building, testing, and publishing.
5858
- **dgoss:** For Docker image testing.
5959
- **Alpine Linux:** Base OS for the Docker images.
60-
- **PHP:** Core language with multiple versions (7.4, 8.0, 8.1, 8.2, 8.3).
60+
- **PHP:** Core language with multiple versions (7.4, 8.0, 8.1, 8.2, 8.3, 8.4).
6161

6262
<br>
6363

@@ -109,7 +109,7 @@ Replace `8.3-fpm-alpine-latest` with your desired PHP version, type, and tag.
109109

110110
The images are available in various combinations of PHP versions, types, and architectures:
111111

112-
- **PHP Versions:** 8.1, 8.2, 8.3
112+
- **PHP Versions:** 8.1, 8.2, 8.3, 8.4
113113
- **Types:** cli, fpm, supervisord
114114
- **Architectures:** amd64, arm64
115115

@@ -203,6 +203,9 @@ make generate
203203
make build IMAGE_TEMPLATE="8.3-cli-alpine"
204204
make build IMAGE_TEMPLATE="8.3-fpm-alpine"
205205
make build IMAGE_TEMPLATE="8.3-supervisord-alpine"
206+
make build IMAGE_TEMPLATE="8.4-cli-alpine"
207+
make build IMAGE_TEMPLATE="8.4-fpm-alpine"
208+
make build IMAGE_TEMPLATE="8.4-supervisord-alpine"
206209
```
207210

208211
These commands will build all supported image variants.
@@ -303,6 +306,9 @@ You can run tests using the following commands:
303306
make test IMAGE_TEMPLATE="8.3-cli-alpine"
304307
make test IMAGE_TEMPLATE="8.3-fpm-alpine"
305308
make test IMAGE_TEMPLATE="8.3-supervisord-alpine"
309+
make test IMAGE_TEMPLATE="8.4-cli-alpine"
310+
make test IMAGE_TEMPLATE="8.4-fpm-alpine"
311+
make test IMAGE_TEMPLATE="8.4-supervisord-alpine"
306312
```
307313

308314
### → Test Configuration

docker-bake.hcl

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,27 @@ target "php-83-supervisord-alpine" {
7171
dockerfile = "./Dockerfile"
7272
}
7373

74+
###########################
75+
## PHP 8.4
76+
###########################
77+
target "php-84-cli-alpine" {
78+
inherits = ["docker-metadata-action"]
79+
context = "dist/base/8.4-cli-alpine"
80+
dockerfile = "./Dockerfile"
81+
}
82+
83+
target "php-84-fpm-alpine" {
84+
inherits = ["docker-metadata-action"]
85+
context = "dist/base/8.4-fpm-alpine"
86+
dockerfile = "./Dockerfile"
87+
}
88+
89+
target "php-84-supervisord-alpine" {
90+
inherits = ["docker-metadata-action"]
91+
context = "dist/base/8.4-supervisord-alpine"
92+
dockerfile = "./Dockerfile"
93+
}
94+
7495
group "all" {
7596
targets = [
7697
"php-81-cli-alpine",
@@ -82,6 +103,9 @@ group "all" {
82103
"php-83-cli-alpine",
83104
"php-83-fpm-alpine",
84105
"php-83-supervisord-alpine",
106+
"php-84-cli-alpine",
107+
"php-84-fpm-alpine",
108+
"php-84-supervisord-alpine",
85109
]
86110
}
87111

@@ -108,3 +132,11 @@ group "php-83" {
108132
"php-83-supervisord-alpine",
109133
]
110134
}
135+
136+
group "php-84" {
137+
targets = [
138+
"php-84-cli-alpine",
139+
"php-84-fpm-alpine",
140+
"php-84-supervisord-alpine",
141+
]
142+
}

src/inventory.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,5 +114,27 @@ all:
114114
php_type: supervisord
115115
os_name: alpine
116116
os_version: 3.20
117+
# PHP 8.4
118+
8.4-cli-alpine:
119+
ansible_connection: local
120+
level: base
121+
php_version: 8.4
122+
php_type: cli
123+
os_name: alpine
124+
os_version: 3.20
125+
8.4-fpm-alpine:
126+
ansible_connection: local
127+
level: base
128+
php_version: 8.4
129+
php_type: fpm
130+
os_name: alpine
131+
os_version: 3.20
132+
8.4-supervisord-alpine:
133+
ansible_connection: local
134+
level: base
135+
php_version: 8.4
136+
php_type: supervisord
137+
os_name: alpine
138+
os_version: 3.20
117139

118140
...

0 commit comments

Comments
 (0)