From 725602b5e5ee0467c18e8388a10cb0ed2e4ac0a1 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Mon, 9 Mar 2026 02:58:42 -0700 Subject: [PATCH] Retry macOS DMG creation on resource-busy failures --- .github/workflows/build.yml | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 750ac622..021504a8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -267,7 +267,32 @@ jobs: codesign --force --deep --sign - Wowee.app - name: Create DMG - run: hdiutil create -volname Wowee -srcfolder Wowee.app -ov -format UDZO Wowee.dmg + run: | + set -euo pipefail + rm -f Wowee.dmg + # CI runners can occasionally leave a mounted volume around; detach if present. + if [ -d "/Volumes/Wowee" ]; then + hdiutil detach "/Volumes/Wowee" -force || true + sleep 2 + fi + + ok=0 + for attempt in 1 2 3 4 5; do + if hdiutil create -volname Wowee -srcfolder Wowee.app -ov -format UDZO Wowee.dmg; then + ok=1 + break + fi + echo "hdiutil create failed on attempt ${attempt}; retrying..." + if [ -d "/Volumes/Wowee" ]; then + hdiutil detach "/Volumes/Wowee" -force || true + fi + sleep 3 + done + + if [ "$ok" -ne 1 ] || [ ! -f Wowee.dmg ]; then + echo "Failed to create Wowee.dmg after retries." + exit 1 + fi - name: Upload DMG uses: actions/upload-artifact@v4