Skip to content

Commit 28ff101

Browse files
authored
Merge pull request #66 from wayofdev/feat/structure-updates
feat: php 8.4 support
2 parents cf80fce + 7d372e2 commit 28ff101

File tree

7 files changed

+68
-12
lines changed

7 files changed

+68
-12
lines changed

.github/workflows/build.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on: # yamllint disable-line rule:truthy
99
types:
1010
- released
1111
schedule:
12-
- cron: "30 10 * * *"
12+
- cron: "30 8 * * *"
1313

1414
env:
1515
DOCKER_NAMESPACE: wayofdev/php-dev
@@ -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/shellcheck.yml

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
on: # yamllint disable-line rule:truthy
44
pull_request:
5+
branches:
6+
- master
57

68
name: 🐞 Differential shell-check
79

.github/workflows/test.yml

+1-1
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

+1-1
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-dev
11-
IMAGE_TEMPLATE ?= 8.3-cli-alpine
11+
IMAGE_TEMPLATE ?= 8.4-cli-alpine
1212
IMAGE_TAG ?= $(IMAGE_NAMESPACE):$(IMAGE_TEMPLATE)-latest
1313

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

README.md

+10-7
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<br>
1010
</p>
1111

12-
<div align="center">
12+
<p align="center">
1313
<a href="https://actions-badge.atrox.dev/wayofdev/docker-php-dev/goto"><img alt="Build Status" src="https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fwayofdev%2Fdocker-php-dev%2Fbadge&style=flat-square"/></a>
1414
<a href="https://github.com/wayofdev/docker-php-dev/tags"><img src="https://img.shields.io/github/v/tag/wayofdev/docker-php-dev?sort=semver&style=flat-square" alt="Latest Version"></a>
1515
<a href="https://hub.docker.com/repository/docker/wayofdev/php-dev"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/wayofdev/php-dev?style=flat-square"></a>
1616
<a href="LICENSE.md"><img src="https://img.shields.io/github/license/wayofdev/docker-php-dev.svg?style=flat-square&color=blue" alt="Software License"/></a>
1717
<a href="#"><img alt="Commits since latest release" src="https://img.shields.io/github/commits-since/wayofdev/docker-php-dev/latest?style=flat-square"></a>
18-
</div>
18+
</p>
1919

2020
<br>
2121

@@ -32,7 +32,7 @@ If you **like/use** this package, please consider ⭐️ **starring** it. Thanks
3232
## 🚀 Features
3333

3434
- **Based on wayofdev/docker-php-base:** Inherits all features and extensions from the base image.
35-
- **PHP Versions:** Supports PHP `8.1`, `8.2`, and `8.3`.
35+
- **PHP Versions:** Supports PHP `8.1`, `8.2`, `8.3`, and `8.4`.
3636
- **Image Types:** Available in CLI, FPM, and Supervisord variants.
3737
- **Xdebug:** Pre-installed and configured for debugging.
3838
- **Development Tools:** Includes `git`, `bash`, `unzip`, `nano`, and more.
@@ -79,7 +79,7 @@ Replace `8.3-fpm-alpine-latest` with your desired PHP version, type, and tag.
7979

8080
### → Available Image Variants
8181

82-
- **PHP Versions:** 8.1, 8.2, 8.3
82+
- **PHP Versions:** 8.1, 8.2, 8.3, 8.4
8383
- **Types:** cli, fpm, supervisord
8484
- **Architectures:** amd64, arm64
8585

@@ -101,7 +101,6 @@ docker pull wayofdev/php-dev:8.3-supervisord-alpine-latest
101101
Here's a more comprehensive example `docker-compose.yml` for a Laravel project with additional services:
102102

103103
```yaml
104-
version: '3.8'
105104
services:
106105
app:
107106
image: wayofdev/php-dev:8.3-fpm-alpine-latest
@@ -114,8 +113,6 @@ services:
114113
- database
115114
links:
116115
- database
117-
external_links:
118-
- 'rabbitmq.${COMPOSE_PROJECT_NAME}.alias:rabbitmq'
119116
volumes:
120117
- ./.github/assets:/assets:rw,cached
121118
- ./app:/app:rw,cached
@@ -227,6 +224,9 @@ make generate
227224
make build IMAGE_TEMPLATE="8.3-cli-alpine"
228225
make build IMAGE_TEMPLATE="8.3-fpm-alpine"
229226
make build IMAGE_TEMPLATE="8.3-supervisord-alpine"
227+
make build IMAGE_TEMPLATE="8.4-cli-alpine"
228+
make build IMAGE_TEMPLATE="8.4-fpm-alpine"
229+
make build IMAGE_TEMPLATE="8.4-supervisord-alpine"
230230
```
231231

232232
These commands will build all supported image variants.
@@ -269,6 +269,9 @@ You can run tests using the following commands:
269269
make test IMAGE_TEMPLATE="8.3-cli-alpine"
270270
make test IMAGE_TEMPLATE="8.3-fpm-alpine"
271271
make test IMAGE_TEMPLATE="8.3-supervisord-alpine"
272+
make test IMAGE_TEMPLATE="8.4-cli-alpine"
273+
make test IMAGE_TEMPLATE="8.4-fpm-alpine"
274+
make test IMAGE_TEMPLATE="8.4-supervisord-alpine"
272275
```
273276

274277
### → Test Configuration

docker-bake.hcl

+32
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/dev/8.4-cli-alpine"
80+
dockerfile = "./Dockerfile"
81+
}
82+
83+
target "php-84-fpm-alpine" {
84+
inherits = ["docker-metadata-action"]
85+
context = "dist/dev/8.4-fpm-alpine"
86+
dockerfile = "./Dockerfile"
87+
}
88+
89+
target "php-84-supervisord-alpine" {
90+
inherits = ["docker-metadata-action"]
91+
context = "dist/dev/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

+20-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ all:
8080
php_version: 8.2
8181
php_type: supervisord
8282
os_name: alpine
83-
# PHP 8.2
83+
# PHP 8.3
8484
8.3-cli-alpine:
8585
ansible_connection: local
8686
level: dev
@@ -99,5 +99,24 @@ all:
9999
php_version: 8.3
100100
php_type: supervisord
101101
os_name: alpine
102+
# PHP 8.4
103+
8.4-cli-alpine:
104+
ansible_connection: local
105+
level: dev
106+
php_version: 8.4
107+
php_type: cli
108+
os_name: alpine
109+
8.4-fpm-alpine:
110+
ansible_connection: local
111+
level: dev
112+
php_version: 8.4
113+
php_type: fpm
114+
os_name: alpine
115+
8.4-supervisord-alpine:
116+
ansible_connection: local
117+
level: dev
118+
php_version: 8.4
119+
php_type: supervisord
120+
os_name: alpine
102121

103122
...

0 commit comments

Comments
 (0)