From 7a3ccdb0042cf6e7633d11e77d6559156126c5c0 Mon Sep 17 00:00:00 2001 From: Hemanth Nakkina Date: Fri, 1 Dec 2023 14:11:59 +0530 Subject: [PATCH] Fix publish charm job When there are no charms as artifacts in gate pipeline, the publish charm variable charm_channels is not defaulted to empty dictionary. Set charm_channels default value to empty dictionary wherever the variable is used. Change-Id: I4fda23b2f103f168b85635bf1d9786cf62d845fb --- roles/charm-publish/tasks/main.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/roles/charm-publish/tasks/main.yaml b/roles/charm-publish/tasks/main.yaml index 7a851492..cc6e2a7f 100644 --- a/roles/charm-publish/tasks/main.yaml +++ b/roles/charm-publish/tasks/main.yaml @@ -30,7 +30,12 @@ chdir: "{{ zuul.project.src_dir }}" executable: /bin/bash shell: | - ls *.charm | cut -d"." -f 1 + charms=$(ls *.charm | cut -d"." -f 1) + if [[ $? != 0 ]]; then + echo "" + else + echo $charms | tr ' ' '\n' + fi register: built_charms - name: Prepare charm channel dict for downloaded charms @@ -41,13 +46,13 @@ - name: Print charm channel dict debug: - msg: "Charms to be published: {{ charm_channels }}" + msg: "Charms to be published: {{ charm_channels | default({}) }}" - name: Publish charms in a loop include_tasks: "publish.yaml" vars: charm_build_name: "{{ channel.key }}" publish_channel: "{{ channel.value }}" - loop: "{{ charm_channels|dict2items }}" + loop: "{{ charm_channels | default({}) | dict2items }}" loop_control: loop_var: channel