diff --git a/.github/workflows/build-apk.yml b/.github/workflows/build-apk.yml index 2b1f05f..9f8846c 100644 --- a/.github/workflows/build-apk.yml +++ b/.github/workflows/build-apk.yml @@ -31,13 +31,19 @@ jobs: - name: Setup Android SDK uses: android-actions/setup-android@v3 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Generate Gradle wrapper + working-directory: android + run: | + gradle wrapper --gradle-version=8.5 + - name: Build APK working-directory: android run: | - # Extract host from APP_URL for Gradle property TWA_HOST=$(echo "${{ env.APP_URL }}" | sed 's|https://||;s|http://||;s|/.*||') - chmod +x gradlew 2>/dev/null || true - ./gradlew assembleRelease -PTWA_HOST="${TWA_HOST}" || echo "::warning::Gradle build failed — ensure Android SDK and gradle wrapper are set up" + ./gradlew assembleRelease -PTWA_HOST="${TWA_HOST}" - name: Sign APK if: success() @@ -49,13 +55,22 @@ jobs: alias: ${{ secrets.ANDROID_KEY_ALIAS }} keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }} - continue-on-error: true + + - name: Rename signed APK + if: steps.sign.outcome == 'success' + run: | + SIGNED=$(find android/app/build/outputs/apk/release -name "*-signed.apk" | head -1) + if [ -n "$SIGNED" ]; then + cp "$SIGNED" android/app/build/outputs/apk/release/PedScribe-v${{ github.ref_name }}-signed.apk + fi - name: Upload APK to Release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: - files: android/app/build/outputs/apk/release/*.apk + files: | + android/app/build/outputs/apk/release/*-signed.apk + android/app/build/outputs/apk/release/app-release-unsigned.apk generate_release_notes: true - name: Upload artifact @@ -65,14 +80,12 @@ jobs: name: pediatric-scribe-apk path: android/app/build/outputs/apk/release/*.apk retention-days: 30 - if-no-files-found: warn - name: Summary run: | echo "### TWA APK Build" >> $GITHUB_STEP_SUMMARY echo "Built for: ${{ env.APP_URL }}" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "**Obtainium setup:**" >> $GITHUB_STEP_SUMMARY - echo "1. Add repo URL: \`https://github.com/ifedan-ed/pediatric-ai-scribe-v3\`" >> $GITHUB_STEP_SUMMARY - echo "2. Source: GitHub Releases" >> $GITHUB_STEP_SUMMARY - echo "3. APK auto-updates on new \`v*\` tags" >> $GITHUB_STEP_SUMMARY + echo "**Install options:**" >> $GITHUB_STEP_SUMMARY + echo "- Download from GitHub Releases" >> $GITHUB_STEP_SUMMARY + echo "- Obtainium: add repo \`https://github.com/ifedan-ed/pediatric-ai-scribe-v3\`" >> $GITHUB_STEP_SUMMARY