Fix image manifest creation in zuul CI
Sem-Ver: fix Change-Id: Ie6041a7b38903ee2dc04333ad08a742102fb3e55
This commit is contained in:
parent
d4cf5d8687
commit
2369af9a49
|
@ -18,7 +18,7 @@ projects:
|
|||
tempest:
|
||||
branch: master
|
||||
revision: 44dac69eb77d78a0de8e68e63617099249345578
|
||||
tag: 30.1.0-0
|
||||
tag: 30.1.0-3
|
||||
pip_packages:
|
||||
- keystone-tempest-plugin
|
||||
- cinder-tempest-plugin
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
fixes:
|
||||
- Fix image manifest creation in zuul CI
|
|
@ -46,6 +46,10 @@
|
|||
- job:
|
||||
name: ansible-collection-atmosphere-upload-images-manifest
|
||||
parent: ansible-collection-atmosphere-build-images-manifest
|
||||
secrets:
|
||||
name: docker_credentials
|
||||
secret: gar-credentials
|
||||
pass-to-parent: true
|
||||
|
||||
- project:
|
||||
check:
|
||||
|
|
|
@ -19,6 +19,11 @@
|
|||
file: "../../../images/{{ openstack_release }}.yml"
|
||||
name: image_manifest
|
||||
|
||||
- name: Login container registry
|
||||
when: zuul.job is not search("build")
|
||||
command:
|
||||
podman login -u {{ docker_credentials.username }} -p {{ docker_credentials.password }} {{ image_manifest.registry }}
|
||||
|
||||
- name: Create manifest for every project built
|
||||
command:
|
||||
podman manifest create {{ item | basename }}:{{ image_manifest['projects'][item.rsplit('/')[-1]]['tag'] }}
|
||||
|
@ -32,7 +37,7 @@
|
|||
{{ item.url }}
|
||||
loop: "{{ zuul.artifacts | selectattr('metadata.type', 'defined') | selectattr('metadata.type', 'equalto', 'image') | list }}"
|
||||
|
||||
- name: Push manifests to buildset registry
|
||||
- name: Push manifests to container registry
|
||||
command:
|
||||
podman manifest push
|
||||
{{ item | basename }}:{{ image_manifest['projects'][item.rsplit('/')[-1]]['tag'] }}
|
||||
|
|
|
@ -114,17 +114,50 @@
|
|||
- "{{ image_manifest['projects'][item]['tag'] }}-{{ ansible_architecture }}"
|
||||
|
||||
- name: Return artifacts to Zuul
|
||||
zuul_return:
|
||||
data:
|
||||
zuul:
|
||||
artifacts:
|
||||
- name: "{{ item }} ({{ ansible_architecture }})"
|
||||
url: "docker://{{ _docker_registry }}/{{ item }}:{{ image_manifest['projects'][item]['tag'] }}-{{ ansible_architecture }}"
|
||||
metadata:
|
||||
type: image
|
||||
repository: "docker://{{ _docker_registry }}/{{ item }}"
|
||||
project: "{{ item }}"
|
||||
arch: "{{ ansible_architecture }}"
|
||||
vars:
|
||||
_docker_registry: "{{ (docker_registry is defined) | ternary(docker_registry, 'zuul-jobs.buildset-registry:5000') }}"
|
||||
loop: "{{ _build_docker_image.results | map(attribute='item') | list }}"
|
||||
block:
|
||||
- name: Return artifacts to Zuul for build
|
||||
when: zuul.job is search("build")
|
||||
zuul_return:
|
||||
data:
|
||||
zuul:
|
||||
artifacts:
|
||||
- name: "{{ item }} ({{ ansible_architecture }})"
|
||||
url: "docker://{{ _docker_registry }}/{{ item }}:{{ image_manifest['projects'][item]['tag'] }}-{{ ansible_architecture }}"
|
||||
metadata:
|
||||
type: image
|
||||
repository: "docker://{{ _docker_registry }}/{{ item }}"
|
||||
project: "{{ item }}"
|
||||
arch: "{{ ansible_architecture }}"
|
||||
vars:
|
||||
_docker_registry: "zuul-jobs.buildset-registry:5000"
|
||||
loop: "{{ _build_docker_image.results | map(attribute='item') | list }}"
|
||||
|
||||
- name: Return artifacts to Zuul for upload
|
||||
when: zuul.job is search("upload")
|
||||
zuul_return:
|
||||
data:
|
||||
zuul:
|
||||
artifacts:
|
||||
- name: "{{ item }} ({{ ansible_architecture }})"
|
||||
url: "docker://{{ image_manifest.registry }}/{{ item }}:{{ ('change_' + zuul.change) if (zuul.change is defined) else zuul.pipeline }}_{{ image_manifest['projects'][item]['tag'] }}-{{ ansible_architecture }}"
|
||||
metadata:
|
||||
type: image
|
||||
repository: "docker://{{ image_manifest.registry }}/{{ item }}"
|
||||
project: "{{ item }}"
|
||||
arch: "{{ ansible_architecture }}"
|
||||
loop: "{{ _build_docker_image.results | map(attribute='item') | list }}"
|
||||
|
||||
- name: Return artifacts to Zuul for promote
|
||||
when: zuul.job is search("promote")
|
||||
zuul_return:
|
||||
data:
|
||||
zuul:
|
||||
artifacts:
|
||||
- name: "{{ item }} ({{ ansible_architecture }})"
|
||||
url: "docker://{{ image_manifest.registry }}/{{ item }}:{{ image_manifest['projects'][item]['tag'] }}-{{ ansible_architecture }}"
|
||||
metadata:
|
||||
type: image
|
||||
repository: "docker://{{ image_manifest.registry }}/{{ item }}"
|
||||
project: "{{ item }}"
|
||||
arch: "{{ ansible_architecture }}"
|
||||
loop: "{{ _build_docker_image.results | map(attribute='item') | list }}"
|
||||
|
|
Loading…
Reference in New Issue