|
@@ -124,7 +124,7 @@ jobs:
|
|
|
asset_name: ${{ env.WINDOWS_INSTALLER_NAME }}.exe
|
|
|
asset_content_type: application/octet-stream
|
|
|
|
|
|
- build-for-macOS:
|
|
|
+ build-for-macOS-x86_64:
|
|
|
name: ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-args }}]
|
|
|
runs-on: ${{ matrix.job.os }}
|
|
|
needs: create-release
|
|
@@ -212,6 +212,92 @@ jobs:
|
|
|
asset_name: ${{ env.MACOS_DMG_NAME }}.dmg
|
|
|
asset_content_type: application/octet-stream
|
|
|
|
|
|
+ build-for-macOS-universal:
|
|
|
+ name: ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-args }}]
|
|
|
+ runs-on: ${{ matrix.job.os }}
|
|
|
+ needs: create-release
|
|
|
+ env:
|
|
|
+ MACOS_APP_RELEASE_PATH: frontend/appflowy_flutter/product/${{ github.ref_name }}/macos/Release
|
|
|
+ MACOS_AARCH64_ZIP_NAME: AppFlowy_${{ github.ref_name }}_macos-universal.zip
|
|
|
+ MACOS_DMG_NAME: AppFlowy_${{ github.ref_name }}_macos-universal
|
|
|
+ strategy:
|
|
|
+ fail-fast: false
|
|
|
+ matrix:
|
|
|
+ job:
|
|
|
+ - { targets: 'aarch64-apple-darwin,x86_64-apple-darwin', os: macos-11, extra-build-args: "" }
|
|
|
+ steps:
|
|
|
+ - name: Checkout source code
|
|
|
+ uses: actions/checkout@v3
|
|
|
+
|
|
|
+ - name: Install flutter
|
|
|
+ uses: subosito/flutter-action@v2
|
|
|
+ with:
|
|
|
+ channel: "stable"
|
|
|
+ flutter-version: ${{ env.FLUTTER_VERSION }}
|
|
|
+ cache: true
|
|
|
+
|
|
|
+ - name: Install Rust toolchain
|
|
|
+ uses: dtolnay/rust-toolchain@stable
|
|
|
+ with:
|
|
|
+ toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
|
+ targets: ${{ matrix.job.targets }}
|
|
|
+ components: rustfmt
|
|
|
+
|
|
|
+ - uses: Swatinem/rust-cache@v2
|
|
|
+ with:
|
|
|
+ prefix-key: appflowy-lib-cache
|
|
|
+ key: ${{ matrix.job.os }}-${{ matrix.job.target }}
|
|
|
+
|
|
|
+ - name: Install prerequisites
|
|
|
+ working-directory: frontend
|
|
|
+ run: |
|
|
|
+ cargo install --force cargo-make
|
|
|
+ cargo install --force duckscript_cli
|
|
|
+
|
|
|
+ - name: Build AppFlowy
|
|
|
+ working-directory: frontend
|
|
|
+ run: |
|
|
|
+ flutter config --enable-macos-desktop
|
|
|
+ sh scripts/flutter_release_build/build_universal_package_for_macos.sh
|
|
|
+
|
|
|
+ - name: Create macOS dmg
|
|
|
+ run: |
|
|
|
+ brew install create-dmg
|
|
|
+ create-dmg \
|
|
|
+ --volname ${{ env.MACOS_DMG_NAME }} \
|
|
|
+ --hide-extension "AppFlowy.app" \
|
|
|
+ --background frontend/scripts/dmg_assets/AppFlowyInstallerBackground.jpg \
|
|
|
+ --window-size 600 450 \
|
|
|
+ --icon-size 94 \
|
|
|
+ --icon "AppFlowy.app" 141 249 \
|
|
|
+ --app-drop-link 458 249 \
|
|
|
+ "${{ env.MACOS_APP_RELEASE_PATH }}/${{ env.MACOS_DMG_NAME }}.dmg" \
|
|
|
+ "${{ env.MACOS_APP_RELEASE_PATH }}/AppFlowy.app"
|
|
|
+
|
|
|
+ - name: Archive Asset
|
|
|
+ working-directory: ${{ env.MACOS_APP_RELEASE_PATH }}
|
|
|
+ run: zip --symlinks -qr ${{ env.MACOS_AARCH64_ZIP_NAME }} AppFlowy.app
|
|
|
+
|
|
|
+ - name: Upload Asset
|
|
|
+ uses: actions/upload-release-asset@v1
|
|
|
+ env:
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
+ with:
|
|
|
+ upload_url: ${{ needs.create-release.outputs.upload_url }}
|
|
|
+ asset_path: ${{ env.MACOS_APP_RELEASE_PATH }}/${{ env.MACOS_AARCH64_ZIP_NAME }}
|
|
|
+ asset_name: ${{ env.MACOS_AARCH64_ZIP_NAME }}
|
|
|
+ asset_content_type: application/octet-stream
|
|
|
+
|
|
|
+ - name: Upload DMG Asset
|
|
|
+ uses: actions/upload-release-asset@v1
|
|
|
+ env:
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
+ with:
|
|
|
+ upload_url: ${{ needs.create-release.outputs.upload_url }}
|
|
|
+ asset_path: ${{ env.MACOS_APP_RELEASE_PATH }}/${{ env.MACOS_DMG_NAME }}.dmg
|
|
|
+ asset_name: ${{ env.MACOS_DMG_NAME }}.dmg
|
|
|
+ asset_content_type: application/octet-stream
|
|
|
+
|
|
|
build-for-linux:
|
|
|
name: ${{ matrix.job.target }} (${{ matrix.job.os }}) [${{ matrix.job.extra-build-args }}]
|
|
|
runs-on: ${{ matrix.job.os }}
|
|
@@ -360,7 +446,7 @@ jobs:
|
|
|
|
|
|
notify-discord:
|
|
|
runs-on: ubuntu-latest
|
|
|
- needs: [build-for-linux, build-for-windows, build-for-macOS]
|
|
|
+ needs: [build-for-linux, build-for-windows, build-for-macOS-x86_64, build-for-macOS-universal]
|
|
|
steps:
|
|
|
- name: Notify Discord
|
|
|
run: |
|