From a519f26248880a6dfa982d8243f9435a77b1d3fa Mon Sep 17 00:00:00 2001 From: John Wesley Date: Thu, 18 Jan 2024 14:54:05 -0500 Subject: [PATCH] Add iOS, macOS, and linux tar.gz builds to github action --- .github/workflows/build_release.yml | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml index f1978d6..bb06135 100644 --- a/.github/workflows/build_release.yml +++ b/.github/workflows/build_release.yml @@ -34,17 +34,26 @@ jobs: strategy: fail-fast: false matrix: - target: [android, linux, windows] + target: [android, ios, linux, macos, windows] include: - os: ubuntu-latest target: android build_target: apk build_flags: --split-per-abi build_path: build/app/outputs/flutter-apk + - os: macos-latest + target: ios + build_target: ios + build_flags: --no-codesign + build_path: build/ios - os: ubuntu-latest target: linux build_target: linux build_path: build/linux/x64/release/bundle + - os: macos-latest + target: macos + build_target: macos + build_path: build/macos/Build/Products/Release - os: windows-latest target: windows build_target: windows @@ -110,6 +119,18 @@ jobs: mv app-x86_64-release.apk $GITHUB_WORKSPACE/dist/interstellar-android-x86_64.apk working-directory: ${{ matrix.build_path }} + - name: Compress build for iOS + if: matrix.target == 'ios' + run: | + mv iphoneos Payload + ditto -c -k --sequesterRsrc --keepParent Payload $GITHUB_WORKSPACE/dist/interstellar-ios.ipa + working-directory: ${{ matrix.build_path }} + + - name: Build tar.gz for Linux + if: matrix.target == 'Linux' + run: tar -czf $GITHUB_WORKSPACE/dist/interstellar-linux-x86_64.tar.gz * + working-directory: ${{ matrix.build_path }} + - name: Build AppImage for Linux if: matrix.target == 'linux' run: | @@ -118,6 +139,11 @@ jobs: cp $(echo $(ldd -d linux/appimage/interstellar | grep -Eo ' (/usr)?/lib/[^ ]*') $(ldd -d linux/appimage/lib/libflutter_linux_gtk.so | grep -Eo ' (/usr)?/lib/[^ ]*') | tr ' ' '\n' | sort | uniq -u) linux/appimage/lib/ appimagetool linux/appimage dist/interstellar-linux-x86_64.AppImage + - name: Compress build for macOS + if: matrix.target == 'macOS' + run: ditto -c -k --sequesterRsrc --keepParent interstellar.app $GITHUB_WORKSPACE/interstellar-macos-x86_64.zip + working-directory: ${{ matrix.build_path }} + - name: Compress build for Windows if: matrix.target == 'windows' run: compress-archive -Path * -DestinationPath ${env:GITHUB_WORKSPACE}\dist\interstellar-windows-x86_64.zip