Files
cipher_master/.github/workflows/release.yml
2026-09-16 21:28:06 +00:00

108 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
with:
packages: ''
- 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 }}