mirror of
https://github.com/ReVax-2007/cipher_master.git
synced 2026-09-17 21:32:27 +00:00
Provision Java, Android SDK and NDK, and Rust Android targets in GitHub Actions. Initialize the Tauri Android project, build APK and AAB packages, upload workflow artifacts, and attach them to tagged releases. Document local Android packaging and signing requirements.
106 lines
3.0 KiB
YAML
106 lines
3.0 KiB
YAML
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 }} |