name: Release App on: push: tags: - 'v*' jobs: release: permissions: contents: write strategy: fail-fast: false matrix: platform: [macos-latest, windows-latest, ubuntu-latest] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 - name: Install Rust uses: dtolnay/rust-toolchain@stable - name: Install Linux dependencies if: matrix.platform == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y \ libglib2.0-dev \ libgtk-3-dev \ libwebkit2gtk-4.1-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ patchelf - name: Build Tauri App uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: projectPath: src-tauri tagName: ${{ github.ref_name }} releaseName: 'Cipher Master ${{ github.ref_name }}' releaseBody: 'Download the compiled standalone application binaries below.' releaseDraft: true prerelease: false android: name: Android APK and AAB runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v4 - name: Setup Java uses: actions/setup-java@v4 with: distribution: temurin java-version: '17' - name: Setup Android SDK uses: android-actions/setup-android@v3 - name: Install Android SDK packages run: sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" "ndk;27.2.12479018" - name: Install Rust uses: dtolnay/rust-toolchain@stable with: targets: aarch64-linux-android, armv7-linux-androideabi, i686-linux-android, x86_64-linux-android - name: Install Tauri CLI run: cargo install tauri-cli --version '^2.0' --locked - name: Initialize Android project working-directory: src-tauri run: cargo tauri android init - name: Build Android packages working-directory: src-tauri run: cargo tauri android build --apk --aab - name: Upload Android packages uses: actions/upload-artifact@v4 with: name: cipher-master-android-${{ github.ref_name }} path: | src-tauri/gen/android/app/build/outputs/apk/**/*.apk src-tauri/gen/android/app/build/outputs/bundle/**/*.aab if-no-files-found: error - name: Attach Android packages to GitHub release uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: | src-tauri/gen/android/app/build/outputs/apk/**/*.apk src-tauri/gen/android/app/build/outputs/bundle/**/*.aab env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}