@@ -12,52 +12,69 @@ jobs:
1212 strategy :
1313 matrix :
1414 version : ['7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
15+ ubuntu-release-name : ['jammy', 'noble']
1516 environment :
1617 name : Build
1718 runs-on : ubuntu-latest
1819 steps :
1920 - name : Checkout
20- uses : actions/checkout@v3
21+ uses : actions/checkout@v4
2122 with :
2223 ref : ${{ github.ref }}
2324
2425 - name : Set up QEMU
25- uses : docker/setup-qemu-action@v2
26+ uses : docker/setup-qemu-action@v3
2627
2728 - name : Set up Docker Buildx
28- uses : docker/setup-buildx-action@v2
29+ uses : docker/setup-buildx-action@v3
2930
30- - name : Login to DockerHub
31- uses : docker/login-action@v2
31+ - name : Extract metadata (tags, labels) for Docker (Jammy)
32+ if : matrix.ubuntu-release-name == 'jammy'
33+ id : meta-jammy
34+ uses : docker/metadata-action@v5
3235 with :
33- username : ${{ secrets.DOCKERHUB_USERNAME }}
34- password : ${{ secrets.DOCKERHUB_TOKEN }}
35-
36- - name : Login to Github Packages
37- uses : docker/login-action@v2
38- with :
39- registry : ghcr.io
40- username : ${{ github.actor }}
41- password : ${{ secrets.GITHUB_TOKEN }}
36+ tags : |
37+ type=raw,pattern={{version}},value=${{ matrix.version }}-${{ matrix.ubuntu-release-name }}
38+ type=raw,pattern={{version}},value=${{ matrix.version }}-ubuntu
39+ images : |
40+ ${{ secrets.IMAGE_NAME }}
41+ ghcr.io/${{ github.repository }}
4242
43- - name : Extract metadata (tags, labels) for Docker
44- id : meta
45- uses : docker/metadata-action@v4
43+ - name : Extract metadata (tags, labels) for Docker (Others)
44+ if : matrix.ubuntu-release-name != 'jammy'
45+ id : meta-others
46+ uses : docker/metadata-action@v5
4647 with :
4748 tags : |
48- type=raw,pattern={{version}},value=${{ matrix.version }}-ubuntu
49+ type=raw,pattern={{version}},value=${{ matrix.version }}-${{ matrix. ubuntu-release-name }}
4950 images : |
5051 ${{ secrets.IMAGE_NAME }}
5152 ghcr.io/${{ github.repository }}
5253
53- - name : Build and push Docker images
54- uses : docker/build-push-action@v4
54+ - name : Build and push Docker images (Jammy)
55+ if : matrix.ubuntu-release-name == 'jammy'
56+ uses : docker/build-push-action@v6
5557 with :
5658 push : true
5759 platforms : linux/amd64,linux/arm64
58- build-args : PHP_VERSION=${{ matrix.version }}
59- tags : ${{ steps.meta.outputs.tags }}
60- labels : ${{ steps.meta.outputs.labels }}
60+ build-args : |
61+ PHP_VERSION=${{ matrix.version }}
62+ UBUNTU_RELEASE_NAME=${{ matrix.ubuntu-release-name }}
63+ tags : ${{ steps.meta-jammy.outputs.tags }}
64+ labels : ${{ steps.meta-jammy.outputs.labels }}
65+
66+ - name : Build and push Docker images (Others)
67+ if : matrix.ubuntu-release-name != 'jammy'
68+ uses : docker/build-push-action@v6
69+ with :
70+ push : true
71+ platforms : linux/amd64,linux/arm64
72+ build-args : |
73+ PHP_VERSION=${{ matrix.version }}
74+ UBUNTU_RELEASE_NAME=${{ matrix.ubuntu-release-name }}
75+ tags : ${{ steps.meta-others.outputs.tags }}
76+ labels : ${{ steps.meta-others.outputs.labels }}
77+
6178
6279 Build_PHP_CentOS8 :
6380 strategy :
@@ -68,24 +85,18 @@ jobs:
6885 runs-on : ubuntu-latest
6986 steps :
7087 - name : Checkout
71- uses : actions/checkout@v3
88+ uses : actions/checkout@v4
7289 with :
7390 ref : ${{ github.ref }}
7491
7592 - name : Set up QEMU
76- uses : docker/setup-qemu-action@v2
93+ uses : docker/setup-qemu-action@v3
7794
7895 - name : Set up Docker Buildx
79- uses : docker/setup-buildx-action@v2
80-
81- - name : Login to DockerHub
82- uses : docker/login-action@v2
83- with :
84- username : ${{ secrets.DOCKERHUB_USERNAME }}
85- password : ${{ secrets.DOCKERHUB_TOKEN }}
96+ uses : docker/setup-buildx-action@v3
8697
8798 - name : Build and push CentOS based Docker images
88- uses : docker/build-push-action@v3
99+ uses : docker/build-push-action@v6
89100 with :
90101 push : true
91102 context : centos8
0 commit comments