|
@@ -0,0 +1,90 @@
|
|
|
+name: test mobile
|
|
|
+
|
|
|
+on:
|
|
|
+ pull_request:
|
|
|
+ paths:
|
|
|
+ - '.github/workflows/test-mobile.yml'
|
|
|
+ - 'tooling/cli/templates/mobile/**'
|
|
|
+ workflow_dispatch:
|
|
|
+
|
|
|
+concurrency:
|
|
|
+ group: ${{ github.workflow }}-${{ github.ref }}
|
|
|
+ cancel-in-progress: true
|
|
|
+
|
|
|
+jobs:
|
|
|
+ test-android:
|
|
|
+ runs-on: ${{ matrix.platform }}
|
|
|
+
|
|
|
+ strategy:
|
|
|
+ fail-fast: false
|
|
|
+ matrix:
|
|
|
+ platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v3
|
|
|
+
|
|
|
+ - name: install Rust stable
|
|
|
+ uses: actions-rs/toolchain@v1
|
|
|
+ with:
|
|
|
+ toolchain: stable
|
|
|
+ override: true
|
|
|
+
|
|
|
+ - name: install Linux dependencies
|
|
|
+ if: matrix.platform == 'ubuntu-latest'
|
|
|
+ run: |
|
|
|
+ sudo apt-get update
|
|
|
+ sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0
|
|
|
+
|
|
|
+ - name: setup node
|
|
|
+ uses: actions/setup-node@v3
|
|
|
+ with:
|
|
|
+ node-version: 16
|
|
|
+ cache: yarn
|
|
|
+ cache-dependency-path: |
|
|
|
+ tooling/api/yarn.lock
|
|
|
+ examples/api/yarn.lock
|
|
|
+
|
|
|
+ - uses: actions/setup-java@v3
|
|
|
+ with:
|
|
|
+ distribution: temurin
|
|
|
+ java-version: 11
|
|
|
+ cache: gradle
|
|
|
+
|
|
|
+ - name: Setup NDK
|
|
|
+ uses: nttld/setup-ndk@v1
|
|
|
+ id: setup-ndk
|
|
|
+ with:
|
|
|
+ ndk-version: r25b
|
|
|
+ local-cache: true
|
|
|
+
|
|
|
+ - uses: Swatinem/rust-cache@v2
|
|
|
+ with:
|
|
|
+ workspaces: |
|
|
|
+ tooling/cli
|
|
|
+ examples/api/src-tauri
|
|
|
+
|
|
|
+ - name: build CLI
|
|
|
+ uses: actions-rs/cargo@v1
|
|
|
+ with:
|
|
|
+ command: build
|
|
|
+ args: --manifest-path ./tooling/cli/Cargo.toml
|
|
|
+
|
|
|
+ - name: build Tauri API
|
|
|
+ working-directory: ./tooling/api
|
|
|
+ run: yarn && yarn build
|
|
|
+
|
|
|
+ - name: install API example dependencies
|
|
|
+ working-directory: ./examples/api
|
|
|
+ run: yarn
|
|
|
+
|
|
|
+ - name: Init Android Studio Project
|
|
|
+ working-directory: ./examples/api
|
|
|
+ run: ../../tooling/cli/target/debug/cargo-tauri android init
|
|
|
+ env:
|
|
|
+ NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
|
|
+
|
|
|
+ - name: Build apk
|
|
|
+ working-directory: ./examples/api
|
|
|
+ run: ../../tooling/cli/target/debug/cargo-tauri android build
|
|
|
+ env:
|
|
|
+ NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|