Skip to content

Commit

Permalink
Update android.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
appvpluss authored Feb 7, 2025
1 parent a0b1d91 commit 0581854
Showing 1 changed file with 57 additions and 13 deletions.
70 changes: 57 additions & 13 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build & Sign APK (Release to GitHub)
name: Generated APK AAB (Upload - Create Artifact To Github Action & Release)

env:
main_project_module: app
Expand All @@ -15,8 +15,7 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Set executable permission for Gradle
run: chmod +x gradlew
Expand Down Expand Up @@ -58,30 +57,56 @@ jobs:
- name: Run Gradle Tests
run: ./gradlew test

- name: Build APK Debug
run: ./gradlew assembleDebug

- name: Build APK Release
run: ./gradlew assembleRelease --stacktrace
run: ./gradlew assembleRelease

- name: Build AAB Release
run: ./gradlew ${{ env.main_project_module }}:bundleRelease

# **🚀 اگر فایل APK Release تولید شده باشد، ادامه می‌دهیم**
- name: Verify if Release APK exists
run: |
if [ -f app/build/outputs/apk/release/app-release-unsigned.apk ]; then
echo "APK Release file found!"
else
echo "APK Release file not found!"
exit 1
fi
# **🚀 امضای APK با apksigner**
- name: Sign APK
run: |
mv ${{ env.main_project_module }}/build/outputs/apk/release/app-release-unsigned.apk app-release-unsigned.apk
mv app/build/outputs/apk/release/app-release-unsigned.apk app-release-unsigned.apk
echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > keystore.jks
apksigner sign --ks keystore.jks --ks-pass pass:${{ secrets.SIGNING_STORE_PASSWORD }} \
--key-pass pass:${{ secrets.SIGNING_KEY_PASSWORD }} --ks-key-alias ${{ secrets.SIGNING_KEY_ALIAS }} \
--out app-release.apk app-release-unsigned.apk
# **🚀 تأیید امضای APK**
- name: Verify APK Signature
run: apksigner verify app-release.apk

# **🚀 آپلود APK امضا شده به عنوان Artifact**
- name: Upload Signed APK as Artifact
# **🚀 آپلود خروجی‌ها به عنوان Artifact برای دانلود از GitHub Actions**
- name: Upload APK Debug as Artifact
uses: actions/upload-artifact@v4
with:
name: APK-Debug-${{ env.VERSION }}
path: app/build/outputs/apk/debug/*.apk

- name: Upload APK Release as Artifact
uses: actions/upload-artifact@v4
with:
name: APK-Release-${{ env.VERSION }}
path: app-release.apk
path: app/build/outputs/apk/release/*.apk

- name: Upload AAB as Artifact
uses: actions/upload-artifact@v4
with:
name: AAB-Release-${{ env.VERSION }}
path: app/build/outputs/bundle/release/*.aab

# **🚀 انتشار APK امضا شده در GitHub Releases**
# **🚀 ایجاد نسخه جدید در Release GitHub با متن `Released by GitHub Actions`**
- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@v1
Expand All @@ -95,10 +120,29 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload Signed APK to Release
# **🚀 آپلود APK Debug به Releases**
- name: Upload APK Debug to Release
uses: softprops/action-gh-release@v1
with:
files: app/build/outputs/apk/debug/*.apk
tag_name: ${{ env.VERSION }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# **🚀 آپلود APK Release به Releases**
- name: Upload APK Release to Release
uses: softprops/action-gh-release@v1
with:
files: app/build/outputs/apk/release/*.apk
tag_name: ${{ env.VERSION }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# **🚀 آپلود AAB Release به Releases**
- name: Upload AAB to Release
uses: softprops/action-gh-release@v1
with:
files: app-release.apk
files: app/build/outputs/bundle/release/*.aab
tag_name: ${{ env.VERSION }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit 0581854

Please sign in to comment.