diff --git a/.github/workflows/experimental.yml b/.github/workflows/experimental.yml index 770daed..e9c142c 100644 --- a/.github/workflows/experimental.yml +++ b/.github/workflows/experimental.yml @@ -167,3 +167,68 @@ jobs: with: name: appimage path: pkg/AppImage/dist/*.AppImage + + build-android: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 10 + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: "pnpm" + + - name: setup Java 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: "17" + + - name: setup Android SDK + uses: android-actions/setup-android@v4 + - name: install Android SDK components + run: | + sdkmanager --install "platforms;android-36" "build-tools;36.0.0" "ndk;28.2.13676358" + yes | sdkmanager --licenses + + - name: install Rust stable with android target + uses: dtolnay/rust-toolchain@stable + with: + targets: aarch64-linux-android + + - name: Rust cache + uses: swatinem/rust-cache@v2 + with: + workspaces: "./src-tauri -> target" + + - name: install frontend dependencies + run: pnpm install + + - name: set up android signing keystore + env: + ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} + run: | + printf '%s' "$ANDROID_KEYSTORE_BASE64" | base64 -d > src-tauri/gen/android/app/release.keystore + cat > src-tauri/gen/android/app/key.properties < target" + + - name: install frontend dependencies + run: pnpm install + + - name: set up android signing keystore + env: + ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} + run: | + printf '%s' "$ANDROID_KEYSTORE_BASE64" | base64 -d > src-tauri/gen/android/app/release.keystore + cat > src-tauri/gen/android/app/key.properties <