blob: 5bd5d2b85ecef052b8b8aa97ad9b23604b3661c1 [file] [log] [blame]
- name: Query Zuul API for image information
uri:
url: "{{ promote_depot_bake_api }}/builds?{{ promote_depot_bake_query }}"
register: promote_depot_bake_build
- name: Parse build response
set_fact:
promote_depot_bake_build: "{{ promote_depot_bake_build.json[0] }}"
- name: Promote Images
block:
- name: Log in to registry
no_log: true
ansible.builtin.command: >-
skopeo login {{ promote_depot_bake_registry.host }}{% if promote_depot_bake_registry.port != 443 %}:{{ promote_depot_bake_registry.port }}{% endif %} -u {{ promote_depot_bake_registry.username }} -p {{ promote_depot_bake_registry.password }}
register: result
until: result.rc == 0
retries: 3
delay: 30
- name: Copy image
ansible.builtin.command: >-
skopeo --insecure-policy copy --all {{ zj_zuul_artifact.url }} docker://{{ zj_zuul_artifact.metadata.repository | regex_replace('/ci/', '/' + promote_depot_bake_namespace + '/', 1) }}:{{ zuul.branch | replace('stable/', '') }}
loop: '{{ promote_depot_bake_build | json_query("artifacts[?metadata.type==''container_image'']") }}'
loop_control:
loop_var: zj_zuul_artifact
always:
- name: Log out of registry
command: skopeo logout {{ promote_depot_bake_registry.host }}{% if promote_depot_bake_registry.port != 443 %}:{{ promote_depot_bake_registry.port }}{% endif %}