@@ -33,6 +33,260 @@ jobs:
3333 run : |
3434 git diff --exit-code
3535
36+ build-8-5-3 :
37+ runs-on : ubuntu-latest
38+ steps :
39+ - name : Checkout
40+ uses : actions/checkout@v4
41+
42+ - name : Display system info (linux)
43+ run : |
44+ set -e
45+ hostname
46+ whoami
47+ cat /etc/*release
48+ lscpu
49+ free
50+ df -h
51+ pwd
52+ docker info
53+ docker version
54+
55+ # See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache
56+ - name : Set up QEMU
57+ uses : docker/setup-qemu-action@v3
58+
59+ - name : Set up Docker Buildx
60+ id : buildx
61+ uses : docker/setup-buildx-action@v3
62+
63+ - name : Cache Docker layers
64+ uses : actions/cache@v4
65+ with :
66+ path : /tmp/.buildx-cache
67+ key : ${{ runner.os }}-buildx-8.5.3-${{ github.sha }}
68+ restore-keys : |
69+ ${{ runner.os }}-buildx-8.5.3-
70+ ${{ runner.os }}-buildx-
71+
72+ - name : Login to Docker Hub registry
73+ # Run on master and tags
74+ if : github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')
75+ uses : docker/login-action@v3
76+ with :
77+ username : ${{ secrets.DOCKERHUB_REGISTRY_USER }}
78+ password : ${{ secrets.DOCKERHUB_REGISTRY_PASSWORD }}
79+
80+ # This step generates the docker tags
81+ - name : Prepare
82+ id : prep-8-5-3-fpm-alpine
83+ run : |
84+ set -e
85+
86+ # Get ref, i.e. <branch_name> from refs/heads/<branch_name>, or <tag-name> from refs/tags/<tag_name>. E.g. 'master' or 'v0.0.0'
87+ REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev )
88+
89+ # Get short commit hash E.g. 'abc0123'
90+ SHA=$( echo "${GITHUB_SHA}" | cut -c1-7 )
91+
92+ # Generate docker image tags
93+ # E.g. 'v0.0.0-<variant>' and 'v0.0.0-abc0123-<variant>'
94+ # E.g. 'master-<variant>' and 'master-abc0123-<variant>'
95+ VARIANT="8.5.3-fpm-alpine"
96+ REF_VARIANT="${REF}-${VARIANT}"
97+ REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}"
98+
99+ # Pass variables to next step
100+ echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_OUTPUT
101+ echo "VARIANT=$VARIANT" >> $GITHUB_OUTPUT
102+ echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT
103+ echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT
104+
105+ - name : 8.5.3-fpm-alpine - Build (PRs)
106+ # Run only on pull requests
107+ if : github.event_name == 'pull_request'
108+ uses : docker/build-push-action@v5
109+ with :
110+ context : variants/8.5.3-fpm-alpine
111+ platforms :
112+ push : false
113+ tags : |
114+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.REF_VARIANT }}
115+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.REF_SHA_VARIANT }}
116+ cache-from : type=local,src=/tmp/.buildx-cache
117+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
118+
119+ - name : 8.5.3-fpm-alpine - Build and push (master)
120+ # Run only on master
121+ if : github.ref == 'refs/heads/master'
122+ uses : docker/build-push-action@v5
123+ with :
124+ context : variants/8.5.3-fpm-alpine
125+ platforms :
126+ push : true
127+ tags : |
128+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.REF_VARIANT }}
129+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.REF_SHA_VARIANT }}
130+ cache-from : type=local,src=/tmp/.buildx-cache
131+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
132+
133+ - name : 8.5.3-fpm-alpine - Build and push (release)
134+ if : startsWith(github.ref, 'refs/tags/')
135+ uses : docker/build-push-action@v5
136+ with :
137+ context : variants/8.5.3-fpm-alpine
138+ platforms :
139+ push : true
140+ tags : |
141+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.VARIANT }}
142+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.REF_VARIANT }}
143+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine.outputs.REF_SHA_VARIANT }}
144+ ${{ github.repository }}:latest
145+ cache-from : type=local,src=/tmp/.buildx-cache
146+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
147+
148+ # This step generates the docker tags
149+ - name : Prepare
150+ id : prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets
151+ run : |
152+ set -e
153+
154+ # Get ref, i.e. <branch_name> from refs/heads/<branch_name>, or <tag-name> from refs/tags/<tag_name>. E.g. 'master' or 'v0.0.0'
155+ REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev )
156+
157+ # Get short commit hash E.g. 'abc0123'
158+ SHA=$( echo "${GITHUB_SHA}" | cut -c1-7 )
159+
160+ # Generate docker image tags
161+ # E.g. 'v0.0.0-<variant>' and 'v0.0.0-abc0123-<variant>'
162+ # E.g. 'master-<variant>' and 'master-abc0123-<variant>'
163+ VARIANT="8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets"
164+ REF_VARIANT="${REF}-${VARIANT}"
165+ REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}"
166+
167+ # Pass variables to next step
168+ echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_OUTPUT
169+ echo "VARIANT=$VARIANT" >> $GITHUB_OUTPUT
170+ echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT
171+ echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT
172+
173+ - name : 8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build (PRs)
174+ # Run only on pull requests
175+ if : github.event_name == 'pull_request'
176+ uses : docker/build-push-action@v5
177+ with :
178+ context : variants/8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets
179+ platforms :
180+ push : false
181+ tags : |
182+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }}
183+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }}
184+ cache-from : type=local,src=/tmp/.buildx-cache
185+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
186+
187+ - name : 8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (master)
188+ # Run only on master
189+ if : github.ref == 'refs/heads/master'
190+ uses : docker/build-push-action@v5
191+ with :
192+ context : variants/8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets
193+ platforms :
194+ push : true
195+ tags : |
196+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }}
197+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }}
198+ cache-from : type=local,src=/tmp/.buildx-cache
199+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
200+
201+ - name : 8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (release)
202+ if : startsWith(github.ref, 'refs/tags/')
203+ uses : docker/build-push-action@v5
204+ with :
205+ context : variants/8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets
206+ platforms :
207+ push : true
208+ tags : |
209+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.VARIANT }}
210+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }}
211+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }}
212+ cache-from : type=local,src=/tmp/.buildx-cache
213+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
214+
215+ # This step generates the docker tags
216+ - name : Prepare
217+ id : prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug
218+ run : |
219+ set -e
220+
221+ # Get ref, i.e. <branch_name> from refs/heads/<branch_name>, or <tag-name> from refs/tags/<tag_name>. E.g. 'master' or 'v0.0.0'
222+ REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev )
223+
224+ # Get short commit hash E.g. 'abc0123'
225+ SHA=$( echo "${GITHUB_SHA}" | cut -c1-7 )
226+
227+ # Generate docker image tags
228+ # E.g. 'v0.0.0-<variant>' and 'v0.0.0-abc0123-<variant>'
229+ # E.g. 'master-<variant>' and 'master-abc0123-<variant>'
230+ VARIANT="8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug"
231+ REF_VARIANT="${REF}-${VARIANT}"
232+ REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}"
233+
234+ # Pass variables to next step
235+ echo "VARIANT_BUILD_DIR=$VARIANT_BUILD_DIR" >> $GITHUB_OUTPUT
236+ echo "VARIANT=$VARIANT" >> $GITHUB_OUTPUT
237+ echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT
238+ echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT
239+
240+ - name : 8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build (PRs)
241+ # Run only on pull requests
242+ if : github.event_name == 'pull_request'
243+ uses : docker/build-push-action@v5
244+ with :
245+ context : variants/8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug
246+ platforms :
247+ push : false
248+ tags : |
249+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }}
250+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }}
251+ cache-from : type=local,src=/tmp/.buildx-cache
252+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
253+
254+ - name : 8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (master)
255+ # Run only on master
256+ if : github.ref == 'refs/heads/master'
257+ uses : docker/build-push-action@v5
258+ with :
259+ context : variants/8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug
260+ platforms :
261+ push : true
262+ tags : |
263+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }}
264+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }}
265+ cache-from : type=local,src=/tmp/.buildx-cache
266+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
267+
268+ - name : 8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (release)
269+ if : startsWith(github.ref, 'refs/tags/')
270+ uses : docker/build-push-action@v5
271+ with :
272+ context : variants/8.5.3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug
273+ platforms :
274+ push : true
275+ tags : |
276+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.VARIANT }}
277+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }}
278+ ${{ github.repository }}:${{ steps.prep-8-5-3-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }}
279+ cache-from : type=local,src=/tmp/.buildx-cache
280+ cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
281+
282+ # Temp fix
283+ # https://github.com/docker/build-push-action/issues/252
284+ # https://github.com/moby/buildkit/issues/1896
285+ - name : Move cache
286+ run : |
287+ rm -rf /tmp/.buildx-cache
288+ mv /tmp/.buildx-cache-new /tmp/.buildx-cache
289+
36290 build-8-4-18 :
37291 runs-on : ubuntu-latest
38292 steps :
@@ -141,7 +395,6 @@ jobs:
141395 ${{ github.repository }}:${{ steps.prep-8-4-18-fpm-alpine.outputs.VARIANT }}
142396 ${{ github.repository }}:${{ steps.prep-8-4-18-fpm-alpine.outputs.REF_VARIANT }}
143397 ${{ github.repository }}:${{ steps.prep-8-4-18-fpm-alpine.outputs.REF_SHA_VARIANT }}
144- ${{ github.repository }}:latest
145398 cache-from : type=local,src=/tmp/.buildx-cache
146399 cache-to : type=local,dest=/tmp/.buildx-cache-new,mode=max
147400
@@ -2060,6 +2313,7 @@ jobs:
20602313
20612314 update-draft-release :
20622315 needs :
2316+ - build-8-5-3
20632317 - build-8-4-18
20642318 - build-8-3-30
20652319 - build-8-2-30
@@ -2081,6 +2335,7 @@ jobs:
20812335
20822336 publish-draft-release :
20832337 needs :
2338+ - build-8-5-3
20842339 - build-8-4-18
20852340 - build-8-3-30
20862341 - build-8-2-30
@@ -2104,6 +2359,7 @@ jobs:
21042359
21052360 update-dockerhub-description :
21062361 needs :
2362+ - build-8-5-3
21072363 - build-8-4-18
21082364 - build-8-3-30
21092365 - build-8-2-30
0 commit comments