- hosts: all roles: - bindep - ensure-docker - ensure-python - ensure-pip tasks: - include_vars: vars.yaml - name: Debug tag generation inputs block: - debug: var: publish - debug: var: tags - debug: var: distro - debug: var: zuul - debug: msg: "{{ tags | to_json }}" - name: Determine tags shell: echo '{{ tags | to_json }}' | python3 {{ zuul.project.src_dir }}/tools/image_tags.py environment: BRANCH: "{{ zuul.branch | default('') }}" CHANGE: "{{ zuul.change | default('') }}" COMMIT: "{{ zuul.newrev | default('') }}" PATCHSET: "{{ zuul.patchset | default('') }}" register: image_tags - name: Debug computed tags debug: var: image_tags - name: Install Docker python module for ansible docker login block: - pip: name: docker version: 4.4.4 executable: pip3 become: True - name: Make images when: not publish block: - make: chdir: "{{ zuul.project.src_dir }}" target: images params: DISTRO: "{{ distro }}" IMAGE_TAG: "{{ item }}" with_items: "{{ image_tags.stdout_lines }}" - shell: "docker images" register: docker_images - debug: var: docker_images become: True - name: Publish images block: - docker_login: username: "{{ airship_promenade_quay_creds.username }}" password: "{{ airship_promenade_quay_creds.password }}" registry_url: "https://quay.io/api/v1/" - make: chdir: "{{ zuul.project.src_dir }}" target: images params: DOCKER_REGISTRY: "quay.io" IMAGE_PREFIX: "airshipit" DISTRO: "{{ distro }}" IMAGE_TAG: "{{ item }}" COMMIT: "{{ zuul.newrev | default('') }}" PUSH_IMAGE: "true" with_items: "{{ image_tags.stdout_lines }}" - shell: "docker images" register: docker_images - debug: var: docker_images when: publish become: True