Add Android build workflow and setup for APK generation
Some checks failed
Build Multi-Platform Binaries / build-frontend (push) Successful in 39s
Build Multi-Platform Binaries / build-android-apk (push) Failing after 3m40s
Build Multi-Platform Binaries / build-binaries (amd64, linux, client, true) (push) Successful in 1m27s
Build Multi-Platform Binaries / build-binaries (amd64, darwin, server, false) (push) Successful in 4m38s
Build Multi-Platform Binaries / build-binaries (amd64, windows, client, true) (push) Successful in 1m21s
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, client, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm, 7, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, darwin, server, false) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, linux, client, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (arm64, windows, server, false) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (amd64, linux, server, true) (push) Has been cancelled
Build Multi-Platform Binaries / build-binaries (amd64, windows, server, true) (push) Has been cancelled

This commit is contained in:
2026-03-22 21:30:12 +08:00
parent 4210ab7675
commit f644d3764a
2 changed files with 60 additions and 2 deletions

View File

@@ -64,6 +64,20 @@ jobs:
cache: 'npm'
cache-dependency-path: web/package-lock.json
- 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: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '8.7'
- name: Build frontend
run: |
cd web
@@ -75,6 +89,17 @@ jobs:
echo "Frontend build completed"
ls -la internal/server/app/dist/
- name: Build Android release APK
run: |
cd android
gradle --no-daemon assembleRelease
cd ..
mkdir -p dist
cp android/app/build/outputs/apk/release/app-release-unsigned.apk \
"dist/gotunnel-android-${{ inputs.version }}-release-unsigned.apk"
echo "Android APK build completed"
ls -lah dist/gotunnel-android-${{ inputs.version }}-release-unsigned.apk
- name: Build all platforms
run: |
mkdir -p dist
@@ -182,6 +207,7 @@ jobs:
echo "- **Linux (amd64/arm64)**: \`.tar.gz\` files" >> release_notes.md
echo "- **macOS (amd64/arm64)**: \`.tar.gz\` files" >> release_notes.md
echo "- **Windows (amd64)**: \`.zip\` files" >> release_notes.md
echo "- **Android**: unsigned \`.apk\` file" >> release_notes.md
echo "" >> release_notes.md
echo "Verify downloads with \`SHA256SUMS\`" >> release_notes.md
fi
@@ -197,6 +223,7 @@ jobs:
files: |-
dist/*.tar.gz
dist/*.zip
dist/*.apk
dist/SHA256SUMS
draft: ${{ inputs.draft }}
prerelease: ${{ inputs.prerelease }}
@@ -205,4 +232,4 @@ jobs:
- name: Release created successfully
run: |
echo "✅ Release ${{ inputs.version }} created successfully!"
echo "🔗 View it at: ${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ inputs.version }}"
echo "🔗 View it at: ${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ inputs.version }}"