diff --git a/mac/scripts/build_dist.sh b/mac/scripts/build_dist.sh index 4a62f4ca6..7d002d57e 100755 --- a/mac/scripts/build_dist.sh +++ b/mac/scripts/build_dist.sh @@ -205,7 +205,7 @@ cp "${SRCROOT}/Resources/Audacity-DMG-background.png" "${DMG}/.background" ATTACHED=$(hdiutil info | awk "/\/Volumes\/${VOL}/{print \$1}") if [ -n "${ATTACHED}" ] then - #hdiutil detach "${ATTACHED}" + hdiutil detach "${ATTACHED}" fi # Create and mount the image diff --git a/scripts/ci/macos/repeat_hdiutil.sh b/scripts/ci/macos/repeat_hdiutil.sh new file mode 100644 index 000000000..79db88151 --- /dev/null +++ b/scripts/ci/macos/repeat_hdiutil.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +((${BASH_VERSION%%.*} >= 4)) || { echo >&2 "$0: Error: Please upgrade Bash."; exit 1; } + +set -uxo pipefail + +max_retry=5 +counter=0 +num_secs_await_retry=1 + +until /usr/bin/hdiutil ""$*"" -debug; do + sleep $num_secs_await_retry + if [[ $counter -eq $max_retry ]]; then + echo "CPack failed despite retry attempts!" + exit 1 + else + echo "Trying CPack hdiutil call again. Try #$counter" + ((counter++)) + fi +done diff --git a/scripts/ci/package.sh b/scripts/ci/package.sh index c3d4ed0fe..7eed1a740 100755 --- a/scripts/ci/package.sh +++ b/scripts/ci/package.sh @@ -9,6 +9,7 @@ cd build if [[ "${OSTYPE}" == msys* && ${GIT_BRANCH} == release* ]]; then # Windows cmake --build . --target innosetup --config "${AUDACITY_BUILD_TYPE}" else + export CPACK_COMMAND_HDIUTIL="./macos/repeat_hdiutil.sh" cpack -C "${AUDACITY_BUILD_TYPE}" --verbose fi