zuul-jobs/roles/upload-container-image/tasks/main.yaml
Mohammed Naser bdae8c9433 Add other nodes to buildx builder
If you need to run native arm64 builds, you can take advantage
of this change which will rely on the remote builders in order
to build things natively giving a significant speed up in
container build time.

Change-Id: I962bb2357a2c458d5e72b334b4fe36b55b034864
2024-09-30 18:58:21 -04:00

33 lines
1.3 KiB
YAML

- name: Control when we push to the upstream registry
# We only want to push upstream if we are in a release / tag pipeline or
# if we are using the tag promotion method.
block:
- name: Verify repository names
when: |
container_registry_credentials is defined
and zj_image.registry not in container_registry_credentials
loop: "{{ container_images }}"
loop_control:
loop_var: zj_image
fail:
msg: "{{ zj_image.registry }} credentials not found"
- name: Verify repository permission
when: |
container_registry_credentials[zj_image.registry].repository is defined and
not zj_image.repository | regex_search(container_registry_credentials[zj_image.registry].repository)
loop: "{{ container_images }}"
loop_control:
loop_var: zj_image
fail:
msg: "{{ zj_image.repository }} not permitted by {{ container_registry_credentials[zj_image.registry].repository }}"
- name: Upload image to container registry
loop: "{{ container_images }}"
loop_control:
loop_var: zj_image
include_tasks: push.yaml
when:
- inventory_hostname == ansible_play_hosts[0]
- not upload_container_image_promote|default(true) or promote_container_image_method|default('tag') == 'tag'