diff --git a/.gitea/workflows/Create Release.yml b/.gitea/workflows/Create Release.yml index d636b46..81ddf78 100644 --- a/.gitea/workflows/Create Release.yml +++ b/.gitea/workflows/Create Release.yml @@ -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 }}" \ No newline at end of file + echo "🔗 View it at: ${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ inputs.version }}" diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 8507c8f..1d2cbb5 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -40,6 +40,37 @@ jobs: path: web/dist retention-days: 1 + build-android-apk: + runs-on: ubuntu-latest + steps: + - name: Checkout code + 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 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + with: + gradle-version: '8.7' + + - name: Build Android debug APK + working-directory: android + run: gradle --no-daemon assembleDebug + + - name: Upload Android APK + uses: actions/upload-artifact@v3 + with: + name: gotunnel-android-debug-apk + path: android/app/build/outputs/apk/debug/app-debug.apk + retention-days: 7 + build-binaries: needs: build-frontend runs-on: golang @@ -142,4 +173,4 @@ jobs: with: name: ${{ env.CURRENT_FILENAME }} path: ${{ env.CURRENT_FILENAME }} - retention-days: 7 \ No newline at end of file + retention-days: 7