skip_changelog: Fix role repo discovery

Fix syntax of split to correctly select list item.
* Add some extra stderr debugging logs.
* Skip the `_common` role.
* Skip roles where the repo is missing.

Signed-off-by: SuperQ <superq@gmail.com>
This commit is contained in:
SuperQ 2024-11-17 09:30:39 +01:00
parent 1231802a30
commit 74faab2ec2
No known key found for this signature in database
GPG key ID: C646B23C9E3245F1

View file

@ -5,13 +5,23 @@
result=$( result=$(
for role_dir in roles/*/ ; do for role_dir in roles/*/ ; do
role="$(basename "${role_dir}")" role="$(basename "${role_dir}")"
if [[ "${role}" == "_common" ]]; then
echo "INFO: Skipping common role" 1>&2
continue
fi
echo "INFO: ${role} Scanning: ${role_dir} " 1>&2
role_repo=$(yq eval "._${role}_repo" "${role_dir}/vars/main.yml" 2>/dev/null) role_repo=$(yq eval "._${role}_repo" "${role_dir}/vars/main.yml" 2>/dev/null)
echo "INFO: ${role} Found role repo: ${role_repo}" 1>&2
if [[ -z "${role_repo}" ]]; then
echo "WARN: ${role} Unable to discover repo path" 1>&2
continue
fi
yq eval "[{ yq eval "[{
\"repo\": \"${role_repo}\", \"repo\": \"${role_repo}\",
\"role\": \"${role}\", \"role\": \"${role}\",
\"type\": (.${role}_binary_url | split(\"/\")[2] | split(\".\")[0] // \"github\") \"type\": (.${role}_binary_url | split(\"/\").[2] | split(\".\").[0] // \"github\")
}]" "${role_dir}/defaults/main.yml" 2>/dev/null }]" "${role_dir}/defaults/main.yml" 2>/dev/null
done | yq -o json -I=0 done | yq -o json -I=0
) )