From fb57f49d450ba63925420d4f230355235c0b44e8 Mon Sep 17 00:00:00 2001 From: rattatwinko Date: Mon, 1 Sep 2025 02:49:29 +0200 Subject: [PATCH] fix --- .gitea/workflows/compile.yaml | 47 ++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/compile.yaml b/.gitea/workflows/compile.yaml index 9342d37..d9c9b3e 100644 --- a/.gitea/workflows/compile.yaml +++ b/.gitea/workflows/compile.yaml @@ -1,4 +1,4 @@ -name: Build Tauri App (Linux + Windows exe) +name: Build Tauri App (Linux + Windows + Android) on: push: @@ -10,9 +10,11 @@ jobs: runs-on: ubuntu-latest steps: + # 1️⃣ Checkout repository - name: Checkout repository uses: actions/checkout@v3 + # 2️⃣ Install Rust - name: Install Rust uses: actions-rs/toolchain@v1 with: @@ -20,6 +22,7 @@ jobs: profile: minimal override: true + # 3️⃣ Install Linux dependencies - name: Install Linux dependencies run: | sudo apt-get update @@ -34,20 +37,25 @@ jobs: curl \ pkg-config \ xdg-utils \ - gnupg2 + gnupg2 \ + unzip \ + wget + + # 4️⃣ Setup 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" - # Download and unzip command-line tools + # Download command-line 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 @@ -55,47 +63,55 @@ jobs: export ANDROID_SDK_ROOT="$ANDROID_SDK" export PATH="$ANDROID_SDK/cmdline-tools/latest/bin:$ANDROID_SDK/platform-tools:$PATH" - # Accept licenses non-interactively yes | sdkmanager --licenses || true - - # Install SDK, build-tools, NDK, and platforms sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.2" "ndk;25.2.9519653" env: ANDROID_HOME: ${{ github.home }}/Android/Sdk ANDROID_SDK_ROOT: ${{ github.home }}/Android/Sdk - - + # 6️⃣ Add Windows Rust target - name: Add Windows Rust target run: rustup target add x86_64-pc-windows-gnu + # 7️⃣ Install Tauri CLI - name: Install Tauri CLI run: cargo install tauri-cli - - name: Build Android APK + # 8️⃣ Initialize Android project + - name: Initialize Tauri Android project + run: | + cd src-tauri + cargo tauri android init + + # 9️⃣ Build Android APK (Debug) + - name: Build Android Debug APK run: | cd src-tauri/gen/android ./gradlew assembleDebug + # 🔟 Build Android Release APK - name: Build Android Release APK run: | cd src-tauri/gen/android ./gradlew assembleRelease + # 1️⃣1️⃣ Build Linux packages - name: Build Linux packages (deb + rpm) run: | cd src-tauri cargo tauri build + # 1️⃣2️⃣ Build Windows exe - name: Build Windows exe run: | cd src-tauri cargo build --release --target x86_64-pc-windows-gnu + # 1️⃣3️⃣ Make Linux ELF executable - name: Make Linux ELF executable run: chmod +x src-tauri/target/release/bytechat-desktop - # 🔑 Import your private GPG key + # 1️⃣4️⃣ Import GPG key - name: Import GPG key run: | echo "$GPG_PRIVATE_KEY" | gpg --batch --import @@ -104,7 +120,7 @@ jobs: GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }} - # 🐧 Sign Linux binaries (.deb, .rpm, ELF) + # 1️⃣5️⃣ Sign Linux artifacts - name: Sign Linux artifacts run: | for f in src-tauri/target/release/bytechat-desktop \ @@ -116,7 +132,7 @@ jobs: env: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - # 🪟 Sign Windows exe with GPG + # 1️⃣6️⃣ Sign Windows exe - name: Sign Windows exe run: | exe=src-tauri/target/x86_64-pc-windows-gnu/release/bytechat-desktop.exe @@ -125,16 +141,16 @@ jobs: env: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + # 1️⃣7️⃣ Upload Android APKs - 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 - # or release: src-tauri/gen/android/app/build/outputs/apk/release/app-release.apk - # 📦 Upload Linux artifacts + signatures + public key + # 1️⃣8️⃣ Upload Linux packages - name: Upload Linux packages uses: actions/upload-artifact@v3 with: @@ -148,7 +164,7 @@ jobs: src-tauri/target/release/bundle/rpm/*.asc key/bytechat-public.gpg - # 📦 Upload Windows exe + signature + # 1️⃣9️⃣ Upload Windows exe + signature - name: Upload Windows exe uses: actions/upload-artifact@v3 with: @@ -156,3 +172,4 @@ jobs: 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.asc +