@@ -185,35 +185,72 @@ jobs:
185185 secrets :
186186 QUAY_PASSWORD : ${{ secrets.QUAY_PASSWORD }}
187187
188+ # Build and push the peerpod-ctrl image (per-arch)
189+ peerpod_ctrl_image_amd64 :
190+ uses : ./.github/workflows/peerpod-ctrl_build_and_push.yaml
191+ with :
192+ registry : ${{ inputs.registry }}
193+ image_tags : ${{ inputs.caa_image_tag }}
194+ git_ref : ${{ inputs.git_ref }}
195+ arch : linux/amd64
196+ runner : ubuntu-24.04
197+ permissions :
198+ contents : read
199+ packages : write # Required to publish the image to ghcr
200+ secrets :
201+ QUAY_PASSWORD : ${{ secrets.QUAY_PASSWORD }}
202+
203+ peerpod_ctrl_image_s390x :
204+ uses : ./.github/workflows/peerpod-ctrl_build_and_push.yaml
205+ with :
206+ registry : ${{ inputs.registry }}
207+ image_tags : ${{ inputs.caa_image_tag }}
208+ git_ref : ${{ inputs.git_ref }}
209+ arch : linux/s390x
210+ runner : ubuntu-24.04-s390x
211+ permissions :
212+ contents : read
213+ packages : write # Required to publish the image to ghcr
214+ secrets :
215+ QUAY_PASSWORD : ${{ secrets.QUAY_PASSWORD }}
216+
217+ # Build and push the webhook image
218+ webhook_image :
219+ uses : ./.github/workflows/webhook_image.yaml
220+ with :
221+ registry : ${{ inputs.registry }}
222+ image_tags : ${{ inputs.caa_image_tag }}
223+ git_ref : ${{ inputs.git_ref }}
224+ permissions :
225+ contents : read
226+ packages : write # Required to publish the image to ghcr
227+ secrets :
228+ QUAY_PASSWORD : ${{ secrets.QUAY_PASSWORD }}
229+
188230 # Run AWS e2e tests if pull request labeled 'test_e2e_aws'
189231 aws :
190232 name : aws
191233 if : |
192234 github.event_name == 'schedule' ||
193235 github.event_name == 'workflow_dispatch' ||
194236 contains(github.event.pull_request.labels.*.name, 'test_e2e_aws')
195- needs : [podvm , caa_image_amd64]
237+ needs : [podvm_ubuntu_amd64 , caa_image_amd64, peerpod_ctrl_image_amd64, webhook_image ]
196238 strategy :
197239 fail-fast : false
198240 matrix :
199241 container_runtime :
200242 - crio
201- os :
202- - ubuntu
203- provider :
204- - generic
205- arch :
206- - amd64
207243 permissions :
208244 id-token : write # Required by aws-actions/configure-aws-credentials
209245 contents : read # Required by aws-actions/configure-aws-credentials
210246 uses : ./.github/workflows/e2e_aws.yaml
211247 with :
212248 caa_image : ${{ inputs.registry }}/cloud-api-adaptor:${{ inputs.caa_image_tag }}-dev-amd64
213249 container_runtime : ${{ matrix.container_runtime }}
214- podvm_image : ${{ inputs.registry }}/podvm-${{ matrix.provider }}-${{ matrix.os }}-${{ matrix.arch }}:${{ inputs.podvm_image_tag }}
250+ podvm_image : ${{ needs.podvm_ubuntu_amd64.outputs.qcow2_oras_image }}
215251 git_ref : ${{ inputs.git_ref }}
216- oras : false
252+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-amd64
253+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
217254 secrets :
218255 AWS_IAM_ROLE_ARN : ${{ secrets.AWS_IAM_ROLE_ARN }}
219256
@@ -241,13 +278,15 @@ jobs:
241278 github.event_name == 'workflow_dispatch' ||
242279 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt') ||
243280 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt_amd64')
244- needs : [podvm_mkosi_amd64, libvirt_e2e_arch_prep, caa_image_amd64]
281+ needs : [podvm_mkosi_amd64, libvirt_e2e_arch_prep, caa_image_amd64, peerpod_ctrl_image_amd64, webhook_image ]
245282 uses : ./.github/workflows/e2e_libvirt.yaml
246283 with :
247284 runner : ubuntu-24.04
248285 caa_image : ${{ inputs.registry }}/cloud-api-adaptor:${{ inputs.caa_image_tag }}-dev-amd64
249286 podvm_image : ${{ needs.podvm_mkosi_amd64.outputs.qcow2_oras_image }}
250287 git_ref : ${{ inputs.git_ref }}
288+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-amd64
289+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
251290 secrets :
252291 REGISTRY_CREDENTIAL_ENCODED : ${{ secrets.REGISTRY_CREDENTIAL_ENCODED }}
253292
@@ -259,13 +298,15 @@ jobs:
259298 github.event_name == 'workflow_dispatch' ||
260299 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt') ||
261300 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt_s390x')
262- needs : [podvm_mkosi_s390x, libvirt_e2e_arch_prep, caa_image_s390x]
301+ needs : [podvm_mkosi_s390x, libvirt_e2e_arch_prep, caa_image_s390x, peerpod_ctrl_image_s390x, webhook_image ]
263302 uses : ./.github/workflows/e2e_libvirt.yaml
264303 with :
265304 runner : s390x-large
266305 caa_image : ${{ inputs.registry }}/cloud-api-adaptor:${{ inputs.caa_image_tag }}-dev-s390x
267306 podvm_image : ${{ needs.podvm_mkosi_s390x.outputs.qcow2_oras_image }}
268307 git_ref : ${{ inputs.git_ref }}
308+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-s390x
309+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
269310 secrets :
270311 REGISTRY_CREDENTIAL_ENCODED : ${{ secrets.REGISTRY_CREDENTIAL_ENCODED }}
271312
@@ -277,13 +318,15 @@ jobs:
277318 github.event_name == 'workflow_dispatch' ||
278319 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt') ||
279320 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt_amd64')
280- needs : [podvm_ubuntu_amd64, libvirt_e2e_arch_prep, caa_image_amd64]
321+ needs : [podvm_ubuntu_amd64, libvirt_e2e_arch_prep, caa_image_amd64, peerpod_ctrl_image_amd64, webhook_image ]
281322 uses : ./.github/workflows/e2e_libvirt.yaml
282323 with :
283324 runner : ubuntu-24.04
284325 caa_image : ${{ inputs.registry }}/cloud-api-adaptor:${{ inputs.caa_image_tag }}-amd64-dev
285326 podvm_image : ${{ needs.podvm_ubuntu_amd64.outputs.qcow2_oras_image }}
286327 git_ref : ${{ inputs.git_ref }}
328+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-amd64
329+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
287330 secrets :
288331 REGISTRY_CREDENTIAL_ENCODED : ${{ secrets.REGISTRY_CREDENTIAL_ENCODED }}
289332
@@ -295,13 +338,15 @@ jobs:
295338 github.event_name == 'workflow_dispatch' ||
296339 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt') ||
297340 contains(github.event.pull_request.labels.*.name, 'test_e2e_libvirt_s390x')
298- needs : [podvm_ubuntu_s390x, libvirt_e2e_arch_prep, caa_image_s390x]
341+ needs : [podvm_ubuntu_s390x, libvirt_e2e_arch_prep, caa_image_s390x, peerpod_ctrl_image_s390x, webhook_image ]
299342 uses : ./.github/workflows/e2e_libvirt.yaml
300343 with :
301344 runner : s390x-large
302345 caa_image : ${{ inputs.registry }}/cloud-api-adaptor:${{ inputs.caa_image_tag }}-s390x-dev
303346 podvm_image : ${{ needs.podvm_ubuntu_s390x.outputs.qcow2_oras_image }}
304347 git_ref : ${{ inputs.git_ref }}
348+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-s390x
349+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
305350 secrets :
306351 REGISTRY_CREDENTIAL_ENCODED : ${{ secrets.REGISTRY_CREDENTIAL_ENCODED }}
307352
@@ -312,7 +357,7 @@ jobs:
312357 github.event_name == 'schedule' ||
313358 github.event_name == 'workflow_dispatch' ||
314359 contains(github.event.pull_request.labels.*.name, 'test_e2e_docker')
315- needs : [podvm_mkosi_amd64, caa_image_amd64]
360+ needs : [podvm_mkosi_amd64, caa_image_amd64, peerpod_ctrl_image_amd64, webhook_image ]
316361 strategy :
317362 fail-fast : false
318363 matrix :
@@ -330,6 +375,8 @@ jobs:
330375 container_runtime : ${{ matrix.container_runtime }}
331376 podvm_image : ${{ needs.podvm_mkosi_amd64.outputs.docker_oci_image }}
332377 git_ref : ${{ inputs.git_ref }}
378+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-amd64
379+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
333380 secrets :
334381 QUAY_PASSWORD : ${{ secrets.QUAY_PASSWORD }}
335382
@@ -340,9 +387,11 @@ jobs:
340387 github.event_name == 'schedule' ||
341388 github.event_name == 'workflow_dispatch' ||
342389 contains(github.event.pull_request.labels.*.name, 'test_e2e_byom')
343- needs : [podvm_ubuntu_amd64, caa_image_amd64]
390+ needs : [podvm_ubuntu_amd64, caa_image_amd64, peerpod_ctrl_image_amd64, webhook_image ]
344391 uses : ./.github/workflows/e2e_byom.yaml
345392 with :
346393 caa_image : ${{ inputs.registry }}/cloud-api-adaptor:${{ inputs.caa_image_tag }}-dev-amd64
347394 podvm_image : ${{ needs.podvm_ubuntu_amd64.outputs.byom_e2e_image }}
348395 git_ref : ${{ inputs.git_ref }}
396+ peerpod_ctrl_image : ${{ inputs.registry }}/peerpod-ctrl:${{ inputs.caa_image_tag }}-amd64
397+ webhook_image : ${{ inputs.registry }}/peer-pods-webhook:${{ inputs.caa_image_tag }}
0 commit comments