From 3460986481b11cbd212c0504db49d9684ea9eeeb Mon Sep 17 00:00:00 2001 From: Ben Busby Date: Sun, 31 Jul 2022 11:47:28 -0600 Subject: Handle dig return code 9 in update workflow If dig returns exit code 9 (no reply from server) when checking an instance for cloudflare records, it shouldn't fail the CI build but rather just skip adding the instance to the non-cloudflare services list. This should be re-evaluated soon to see if the CI build routinely has issues with getting a server reply. If so, a different approach needs to be taken to check if an instance is using cloudflare. --- .github/workflows/update-instances.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/update-instances.yml b/.github/workflows/update-instances.yml index 3eec4a9..c77c551 100644 --- a/.github/workflows/update-instances.yml +++ b/.github/workflows/update-instances.yml @@ -32,17 +32,19 @@ jobs: file="services-full.json" while read -r line; do - if [[ "$line" == "\"https://"* ]]; then - domain=$(echo "$line" | sed -e "s/^\"https:\/\///" -e "s/\",//" -e "s/\"//") - ns=$(dig ns "$domain") - if [[ "$ns" == *"cloudflare"* ]]; then - echo "\"$domain\" using cloudflare, skipping..." - else - echo "$line" >> out.json - fi + if [[ "$line" == "\"https://"* ]]; then + domain=$(echo "$line" | sed -e "s/^\"https:\/\///" -e "s/\",//" -e "s/\"//") + ns=$(dig ns "$domain" || true) + if [[ "$ns" == *"cloudflare"* ]]; then + echo "\"$domain\" using cloudflare, skipping..." + elif [ ${#ns} -eq 0 ]; then + echo "Unable to verify records for \"$domain\", skipping..." else - echo "$line" >> out.json + echo "$line" >> out.json fi + else + echo "$line" >> out.json + fi done <$file # Remove any trailing commas from new instance lists -- cgit v1.2.3