diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d07bc638..1de05b0c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -36,15 +36,3 @@ jobs: name: Installer path: build/macos/Build/Products/Release/GitJournal.dmg if-no-files-found: error - - name: "Upload Artifact" - uses: actions/upload-artifact@v2 - with: - name: App-Notarize-ID - path: /tmp/app_notarize - if-no-files-found: error - - name: "Upload Artifact" - uses: actions/upload-artifact@v2 - with: - name: DMG-Notarize-ID - path: /tmp/dmg_notarize - if-no-files-found: error diff --git a/scripts/build_macos.sh b/scripts/build_macos.sh index dd553818..fd2fb024 100755 --- a/scripts/build_macos.sh +++ b/scripts/build_macos.sh @@ -1,6 +1,24 @@ #!/usr/bin/env bash set -eo pipefail +set -x + +function notarize_check() { + $APP_NOTARIZER -c -u "ios.ci@gitjournal.io" -p "$FASTLANE_PASSWORD" -k "$1" | + grep -A 1 'Status' | + tail -n 1 >/tmp/foo + + grep -m 1 success /tmp/foo +} + +function wait_for_notary() { + xml sel -t -v "//plist" /tmp/app_notarizer | grep -A 1 RequestUUID | tail -n 1 | tr -d "[:blank:]" >/tmp/dmg_notarize + ID=$(cat /tmp/dmg_notarize) + until notarize_check "$ID"; do + echo "Waiting for Notary ..." + sleep 1 + done +} cd "$(dirname "$0")" cd ../ @@ -32,9 +50,8 @@ $APP_NOTARIZER --notarize -a "$APP_NAME.app" -b "io.gitjournal.gitjournal" \ -e "$ENTITLEMENTS" -v "4NYTN6RU3N" \ -i "Developer ID Application: Vishesh Handa (4NYTN6RU3N)" -xml sel -t -v "//plist" /tmp/app_notarizer | grep -A 1 RequestUUID | tail -n 1 | tr -d "[:blank:]" >/tmp/app_notarize +wait_for_notary -# FIXME: What till request is done? $APP_NOTARIZER --staple --file "$APP_NAME.app" echo "" @@ -59,7 +76,6 @@ $APP_NOTARIZER --notarize -a "$APP_NAME.dmg" -b "io.gitjournal.gitjournal" \ -v "4NYTN6RU3N" \ -i "Developer ID Installer: Vishesh Handa (4NYTN6RU3N)" -xml sel -t -v "//plist" /tmp/app_notarizer | grep -A 1 RequestUUID | tail -n 1 | tr -d "[:blank:]" >/tmp/dmg_notarize +wait_for_notary -# FIXME: What till request is done? $APP_NOTARIZER --staple --file "$APP_NAME.dmg"