From 7a856da41adbf51e14ed6d3be07b4393fe00a719 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Mon, 27 Apr 2026 16:00:43 +0100 Subject: [PATCH] ci: Fix bad handling of image format names This is what caused vagrant_vmware_fusion to not be built. Signed-off-by: James Le Cuirot --- .github/workflows/ci.yaml | 14 +++++++------- ci-automation/vms.sh | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8c6d734286..6fd96a6711 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -189,14 +189,14 @@ jobs: images_out="images" - formats="${IMAGE_FORMATS}" - if echo "$formats" | tr ' ' '\n' | grep -q '^vmware'; then - formats=$(echo "$formats" | tr ' ' '\n' | sed '/vmware.*/d') - formats+=" vmware vmware_ova vmware_raw" + printf -v formats "%s\n" ${IMAGE_FORMATS} + if grep -q '^vmware' <<< "${formats}"; then + formats=$(grep -v '^vmware' <<< "${formats}") + printf -v formats "%s\n" ${formats} vmware vmware_ova vmware_raw fi - if echo "$formats" | tr ' ' '\n' | grep -q -P '^(ami|aws)'; then - formats=$(echo "$formats" | tr ' ' '\n' | sed '/ami.*/d' | sed '/aws/d') - formats+=" ami ami_vmdk" + if grep -q '^ami\|^aws' <<< "${formats}"; then + formats=$(grep -v '^ami\|^aws' <<< "${formats}") + printf -v formats "%s\n" ${formats} ami ami_vmdk fi for format in ${formats}; do diff --git a/ci-automation/vms.sh b/ci-automation/vms.sh index aa6c6325b9..55a872d6eb 100644 --- a/ci-automation/vms.sh +++ b/ci-automation/vms.sh @@ -80,14 +80,14 @@ function _vm_build_impl() { apply_local_patches # Convert platform names (also used to find the test scripts) to image formats they entail - formats="$*" - if echo "$formats" | tr ' ' '\n' | grep -q '^vmware'; then - formats=$(echo "$formats" | tr ' ' '\n' | sed '/vmware.*/d') - formats+=" vmware vmware_ova vmware_raw" + printf -v formats "%s\n" "${@}" + if grep -q '^vmware' <<< "${formats}"; then + formats=$(grep -v '^vmware' <<< "${formats}") + printf -v formats "%s\n" ${formats} vmware vmware_ova vmware_raw fi - if echo "$formats" | tr ' ' '\n' | grep -q -P '^(ami|aws)'; then - formats=$(echo "$formats" | tr ' ' '\n' | sed '/ami.*/d' | sed '/aws/d') - formats+=" ami ami_vmdk" + if grep -q '^ami\|^aws' <<< "${formats}"; then + formats=$(grep -v '^ami\|^aws' <<< "${formats}") + printf -v formats "%s\n" ${formats} ami ami_vmdk fi source sdk_lib/sdk_container_common.sh