| - 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 %} |