Files
Helldivers-app-movil/.gitea/workflows/android.yml

80 lines
2.5 KiB
YAML

name: Build Android APK
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Android SDK
uses: android-actions/setup-android@v2
- name: Build with Gradle
run: |
chmod +x ./gradlew
./gradlew assembleRelease --no-daemon
- name: Upload APK
uses: actions/upload-artifact@v3
with:
name: apk
path: app/build/outputs/apk/release/*.apk
- name: Create Release
run: |
TAG_NAME="${GITHUB_REF#refs/tags/}"
APK_FILE=$(ls app/build/outputs/apk/release/*.apk | head -1)
echo "=== Creating release for tag: $TAG_NAME ==="
echo "APK file: $APK_FILE"
# Use the token from secrets
if [ -z "${{ secrets.GITHUB_TOKEN }}" ]; then
echo "ERROR: No GITHUB_TOKEN found"
exit 1
fi
# Create release using Gitea API
echo "Creating release..."
RELEASE_RESP=$(curl -s -X POST "https://git-dangilcal.duckdns.org/api/v1/repos/dangilcal/Helldivers-app-movil/releases" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-d "{\"tag_name\": \"${TAG_NAME}\", \"name\": \"Release ${TAG_NAME}\", \"draft\": false, \"prerelease\": false}")
echo "Release response: $RELEASE_RESP"
# Extract release ID
RELEASE_ID=$(echo "$RELEASE_RESP" | grep -o '"id":[0-9]*' | head -1 | cut -d: -f2)
if [ -z "$RELEASE_ID" ]; then
echo "ERROR: Could not get release ID"
echo "$RELEASE_RESP"
exit 1
fi
echo "Release ID: $RELEASE_ID"
# Upload the APK as an asset
echo "Uploading APK..."
UPLOAD_RESP=$(curl -s -X POST "https://git-dangilcal.duckdns.org/api/v1/repos/dangilcal/Helldivers-app-movil/releases/${RELEASE_ID}/assets" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-F "attachment=@${APK_FILE}")
echo "Upload response: $UPLOAD_RESP"
echo "=== Release created successfully ==="