diff --git a/.gitea/workflows/android.yaml b/.gitea/workflows/android.yaml new file mode 100644 index 0000000..21aeae4 --- /dev/null +++ b/.gitea/workflows/android.yaml @@ -0,0 +1,61 @@ +name: Android Kernel Build + +#Запускаем только кнопкой "Run workflow" в Actions +on: + workflow_dispatch: + push: + branches: + - main + paths: + - 'app/**' + - 'build.gradle.kts' + - 'app/build.gradle.kts' + - 'gradle/**' + +jobs: + build: + runs-on: linux + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Cache Gradle packages + uses: actions/cache@v5 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + if-no-files-found: ignore + + - name: Make gradlew executable + run: chmod +x ./gradlew + + - name: Build Release APK + run: ./gradlew assembleRelease + + - name: Check if APK exists + run: | + echo "=== Checking APK output ===" + find app/build/outputs/apk/release -type f -name "*.apk" 2>/dev/null || echo "No APK files found" + ls -la app/build/outputs/apk/release/ 2>/dev/null || echo "release folder not found" + + - name: Upload APK to SSH using SCP + uses: appleboy/scp-action@master + with: + host: ${{ secrets.SDU_SSH_HOST }} + username: ${{ secrets.SDU_SSH_USER }} + password: ${{ secrets.SDU_SSH_PASSWORD }} + port: ${{ secrets.SDU_SSH_PORT }} + source: "app/build/outputs/apk/release/Rosetta-*.apk" + target: "${{ secrets.SDU_DEPLOY_PATH }}/kernel/android/universal" + strip_components: 5 + rm: true