From 00152e0db42e8a7a785ae218b5569af0605e8ed5 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Mon, 25 Mar 2024 15:43:18 +0800 Subject: [PATCH] upload unsigned dmg since tar.gz does not work app failure --- .github/workflows/flutter-build.yml | 40 +++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/.github/workflows/flutter-build.yml b/.github/workflows/flutter-build.yml index 3d6a495f3..40f14e8b6 100644 --- a/.github/workflows/flutter-build.yml +++ b/.github/workflows/flutter-build.yml @@ -326,16 +326,21 @@ jobs: run: | # --hwcodec not supported on macos yet ./build.py --flutter - cp -rf ./flutter/build/macos/Build/Products/Release/RustDesk.app ./ - mv RustDesk.app arm64 - tar czf unsigned.tar.gz arm64 + + - name: create unsigned dmg + if: env.UPLOAD_ARTIFACT == 'true' + run: | + CREATE_DMG="$(command -v create-dmg)" + CREATE_DMG="$(readlink -f "$CREATE_DMG")" + sed -i -e 's/MAXIMUM_UNMOUNTING_ATTEMPTS=3/MAXIMUM_UNMOUNTING_ATTEMPTS=7/' "$CREATE_DMG" + create-dmg --icon "RustDesk.app" 200 190 --hide-extension "RustDesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}-arm64.dmg ./flutter/build/macos/Build/Products/Release/RustDesk.app - name: Upload unsigned macOS app if: env.UPLOAD_ARTIFACT == 'true' uses: actions/upload-artifact@master with: name: rustdesk-unsigned-macos-arm64 - path: unsigned.tar.gz # can not upload the directory directly, which destroy the link structure, causing the codesign failed + path: rustdesk-${{ env.VERSION }}-arm64.dmg # can not upload the directory directly or tar.gz file, which destroy the link structure, causing the codesign failed - name: Codesign app and create signed dmg if: env.MACOS_P12_BASE64 != null && env.UPLOAD_ARTIFACT == 'true' @@ -345,7 +350,7 @@ jobs: CREATE_DMG="$(readlink -f "$CREATE_DMG")" sed -i -e 's/MAXIMUM_UNMOUNTING_ATTEMPTS=3/MAXIMUM_UNMOUNTING_ATTEMPTS=7/' "$CREATE_DMG" # start sign the rustdesk.app and dmg - rm rustdesk-${{ env.VERSION }}.dmg || true + rm -rf *.dmg || true codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep --strict ./flutter/build/macos/Build/Products/Release/RustDesk.app -vvv create-dmg --icon "RustDesk.app" 200 190 --hide-extension "RustDesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}.dmg ./flutter/build/macos/Build/Products/Release/RustDesk.app codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep --strict rustdesk-${{ env.VERSION }}.dmg -vvv @@ -476,16 +481,21 @@ jobs: run: | # --hwcodec not supported on macos yet ./build.py --flutter ${{ matrix.job.extra-build-args }} - cp -rf ./flutter/build/macos/Build/Products/Release/RustDesk.app ./ - mv RustDesk.app x64 - tar czf unsigned.tar.gz x64 + + - name: create unsigned dmg + if: env.UPLOAD_ARTIFACT == 'true' + run: | + CREATE_DMG="$(command -v create-dmg)" + CREATE_DMG="$(readlink -f "$CREATE_DMG")" + sed -i -e 's/MAXIMUM_UNMOUNTING_ATTEMPTS=3/MAXIMUM_UNMOUNTING_ATTEMPTS=7/' "$CREATE_DMG" + create-dmg --icon "RustDesk.app" 200 190 --hide-extension "RustDesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}-x64.dmg ./flutter/build/macos/Build/Products/Release/RustDesk.app - name: Upload unsigned macOS app if: env.UPLOAD_ARTIFACT == 'true' uses: actions/upload-artifact@master with: name: rustdesk-unsigned-macos-x64 - path: unsigned.tar.gz # can not upload the directory directly, which destroy the link structure, causing the codesign failed + path: rustdesk-${{ env.VERSION }}-x64.dmg # can not upload the directory directly or tar.gz, which destroy the link structure, causing the codesign failed - name: Codesign app and create signed dmg if: env.MACOS_P12_BASE64 != null && env.UPLOAD_ARTIFACT == 'true' @@ -498,7 +508,7 @@ jobs: security default-keychain -s rustdesk.keychain security unlock-keychain -p ${{ secrets.MACOS_P12_PASSWORD }} rustdesk.keychain # start sign the rustdesk.app and dmg - rm rustdesk-${{ env.VERSION }}.dmg || true + rm -rf *.dmg || true codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep --strict ./flutter/build/macos/Build/Products/Release/RustDesk.app -vvv create-dmg --icon "RustDesk.app" 200 190 --hide-extension "RustDesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}.dmg ./flutter/build/macos/Build/Products/Release/RustDesk.app codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep --strict rustdesk-${{ env.VERSION }}.dmg -vvv @@ -534,23 +544,15 @@ jobs: name: rustdesk-unsigned-macos-x64 path: ./ - - name: uncompress - run: | - tar xzf unsigned.tar.gz - - name: Download Artifacts uses: actions/download-artifact@master with: name: rustdesk-unsigned-macos-arm64 path: ./ - - name: uncompress - run: | - tar xzf unsigned.tar.gz - - name: Combine unsigned macos app run: | - tar czf rustdesk-${{ env.VERSION }}-macos-unsigned.tar.gz ./arm64 ./x64 + tar czf rustdesk-${{ env.VERSION }}-macos-unsigned.tar.gz *.dmg - name: Publish unsigned macos app uses: softprops/action-gh-release@v1