fuck this im compiling android apks locally its easier
All checks were successful
Build Tauri App (Linux + Windows exe) / build (push) Successful in 11m27s
All checks were successful
Build Tauri App (Linux + Windows exe) / build (push) Successful in 11m27s
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
name: Build Tauri App (Linux + Windows + Android)
|
name: Build Tauri App (Linux + Windows exe)
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -10,11 +10,9 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# 1️⃣ Checkout repository
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
# 2️⃣ Install Rust
|
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
uses: actions-rs/toolchain@v1
|
uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
@@ -22,7 +20,6 @@ jobs:
|
|||||||
profile: minimal
|
profile: minimal
|
||||||
override: true
|
override: true
|
||||||
|
|
||||||
# 3️⃣ Install Linux dependencies
|
|
||||||
- name: Install Linux dependencies
|
- name: Install Linux dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
@@ -37,87 +34,28 @@ jobs:
|
|||||||
curl \
|
curl \
|
||||||
pkg-config \
|
pkg-config \
|
||||||
xdg-utils \
|
xdg-utils \
|
||||||
gnupg2 \
|
gnupg2
|
||||||
unzip \
|
|
||||||
wget
|
|
||||||
|
|
||||||
# 4️⃣ Set up Java
|
|
||||||
- name: Set up Java
|
|
||||||
uses: actions/setup-java@v3
|
|
||||||
with:
|
|
||||||
distribution: temurin
|
|
||||||
java-version: 17
|
|
||||||
|
|
||||||
# 5️⃣ Install Android SDK & NDK
|
|
||||||
- name: Install Android SDK & NDK
|
|
||||||
run: |
|
|
||||||
ANDROID_SDK="$HOME/Android/Sdk"
|
|
||||||
mkdir -p "$ANDROID_SDK/cmdline-tools"
|
|
||||||
cd "$ANDROID_SDK/cmdline-tools"
|
|
||||||
|
|
||||||
wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip
|
|
||||||
unzip -q cmdline-tools.zip
|
|
||||||
mv cmdline-tools latest || mv tools latest
|
|
||||||
|
|
||||||
export ANDROID_SDK_ROOT="$ANDROID_SDK"
|
|
||||||
export ANDROID_HOME="$ANDROID_SDK"
|
|
||||||
export PATH="$ANDROID_SDK/cmdline-tools/latest/bin:$ANDROID_SDK/platform-tools:$PATH"
|
|
||||||
|
|
||||||
yes | sdkmanager --licenses || true
|
|
||||||
sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.2" "ndk;25.2.9519653"
|
|
||||||
|
|
||||||
# 6️⃣ Persist Android environment variables for subsequent steps
|
|
||||||
- name: Set Android environment variables
|
|
||||||
run: |
|
|
||||||
echo "ANDROID_HOME=$HOME/Android/Sdk" >> $GITHUB_ENV
|
|
||||||
echo "ANDROID_SDK_ROOT=$HOME/Android/Sdk" >> $GITHUB_ENV
|
|
||||||
echo "NDK_HOME=$HOME/Android/Sdk/ndk/29.0.13856066" >> $GITHUB_ENV
|
|
||||||
echo "$HOME/Android/Sdk/platform-tools:$HOME/Android/Sdk/cmdline-tools/latest/bin:$PATH" >> $GITHUB_PATH
|
|
||||||
|
|
||||||
|
|
||||||
# 7️⃣ Add Windows Rust target
|
|
||||||
- name: Add Windows Rust target
|
- name: Add Windows Rust target
|
||||||
run: rustup target add x86_64-pc-windows-gnu
|
run: rustup target add x86_64-pc-windows-gnu
|
||||||
|
|
||||||
# 8️⃣ Install Tauri CLI
|
|
||||||
- name: Install Tauri CLI
|
- name: Install Tauri CLI
|
||||||
run: cargo install tauri-cli
|
run: cargo install tauri-cli
|
||||||
|
|
||||||
# 9️⃣ Initialize Android project
|
|
||||||
- name: Initialize Tauri Android project
|
|
||||||
run: |
|
|
||||||
cd src-tauri
|
|
||||||
cargo tauri android init
|
|
||||||
|
|
||||||
# 🔟 Build Android APK (Debug)
|
|
||||||
- name: Build Android Debug APK
|
|
||||||
run: |
|
|
||||||
cd src-tauri/gen/android
|
|
||||||
./gradlew assembleDebug
|
|
||||||
|
|
||||||
# 1️⃣1️⃣ Build Android Release APK
|
|
||||||
- name: Build Android Release APK
|
|
||||||
run: |
|
|
||||||
cd src-tauri/gen/android
|
|
||||||
./gradlew assembleRelease
|
|
||||||
|
|
||||||
# 1️⃣2️⃣ Build Linux packages
|
|
||||||
- name: Build Linux packages (deb + rpm)
|
- name: Build Linux packages (deb + rpm)
|
||||||
run: |
|
run: |
|
||||||
cd src-tauri
|
cd src-tauri
|
||||||
cargo tauri build
|
cargo tauri build
|
||||||
|
|
||||||
# 1️⃣3️⃣ Build Windows exe
|
|
||||||
- name: Build Windows exe
|
- name: Build Windows exe
|
||||||
run: |
|
run: |
|
||||||
cd src-tauri
|
cd src-tauri
|
||||||
cargo build --release --target x86_64-pc-windows-gnu
|
cargo build --release --target x86_64-pc-windows-gnu
|
||||||
|
|
||||||
# 1️⃣4️⃣ Make Linux ELF executable
|
|
||||||
- name: Make Linux ELF executable
|
- name: Make Linux ELF executable
|
||||||
run: chmod +x src-tauri/target/release/bytechat-desktop
|
run: chmod +x src-tauri/target/release/bytechat-desktop
|
||||||
|
|
||||||
# 1️⃣5️⃣ Import GPG key for signing
|
# 🔑 Import your private GPG key
|
||||||
- name: Import GPG key
|
- name: Import GPG key
|
||||||
run: |
|
run: |
|
||||||
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
|
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
|
||||||
@@ -126,7 +64,7 @@ jobs:
|
|||||||
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||||
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
|
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
|
||||||
|
|
||||||
# 1️⃣6️⃣ Sign Linux artifacts
|
# 🐧 Sign Linux binaries (.deb, .rpm, ELF)
|
||||||
- name: Sign Linux artifacts
|
- name: Sign Linux artifacts
|
||||||
run: |
|
run: |
|
||||||
for f in src-tauri/target/release/bytechat-desktop \
|
for f in src-tauri/target/release/bytechat-desktop \
|
||||||
@@ -138,7 +76,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||||
|
|
||||||
# 1️⃣7️⃣ Sign Windows exe
|
# 🪟 Sign Windows exe with GPG
|
||||||
- name: Sign Windows exe
|
- name: Sign Windows exe
|
||||||
run: |
|
run: |
|
||||||
exe=src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe
|
exe=src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe
|
||||||
@@ -147,16 +85,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
|
||||||
|
|
||||||
# 1️⃣8️⃣ Upload Android APKs
|
# 📦 Upload Linux artifacts + signatures + public key
|
||||||
- name: Upload Android APK
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: tauri-android-apk
|
|
||||||
path: |
|
|
||||||
src-tauri/gen/android/app/build/outputs/apk/debug/app-debug.apk
|
|
||||||
src-tauri/gen/android/app/build/outputs/apk/release/app-release.apk
|
|
||||||
|
|
||||||
# 1️⃣9️⃣ Upload Linux packages
|
|
||||||
- name: Upload Linux packages
|
- name: Upload Linux packages
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -170,7 +99,7 @@ jobs:
|
|||||||
src-tauri/target/release/bundle/rpm/*.asc
|
src-tauri/target/release/bundle/rpm/*.asc
|
||||||
key/bytechat-public.gpg
|
key/bytechat-public.gpg
|
||||||
|
|
||||||
# 2️⃣0️⃣ Upload Windows exe + signature
|
# 📦 Upload Windows exe + signature
|
||||||
- name: Upload Windows exe
|
- name: Upload Windows exe
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -178,4 +107,3 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe
|
src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe
|
||||||
src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe.asc
|
src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe.asc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user