Skip to content

Update Generated APK AAB (Upload - Create Artifact To Github Action &… #16

Update Generated APK AAB (Upload - Create Artifact To Github Action &…

Update Generated APK AAB (Upload - Create Artifact To Github Action &… #16

name: Generated APK AAB (Upload - Create Artifact To Github Action & Release)
env:
main_project_module: app
playstore_name: V2PlusApp
on:
push:
branches:
- 'main'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set executable permission for Gradle
run: chmod +x gradlew
- name: Set current date as env variable
run: echo "DATE_TODAY=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- name: Set repository name as env variable
run: echo "REPO_NAME=$(basename ${{ github.repository }})" >> $GITHUB_ENV
- name: Determine build version
run: |
BASE_TAG="v${{ env.DATE_TODAY }}"
EXISTING_VERSIONS=$(git tag --list "$BASE_TAG*")
if [[ -z "$EXISTING_VERSIONS" ]]; then
VERSION="${BASE_TAG}-v1"
else
LAST_VERSION=$(echo "$EXISTING_VERSIONS" | sort -V | tail -n 1 | grep -oP '\d+$')
NEXT_VERSION=$((LAST_VERSION + 1))
VERSION="${BASE_TAG}-v$NEXT_VERSION"
fi
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "Final version: $VERSION"
- name: Set Up JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- name: Install Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: "8.9"
- name: Run Gradle Tests
run: ./gradlew test
- name: Build Gradle Project
run: ./gradlew build -x lint --continue
- name: Build APK Debug
run: ./gradlew assembleDebug
- name: Build APK Release
run: ./gradlew assembleRelease
- name: Build AAB Release
run: ./gradlew ${{ env.main_project_module }}:bundleRelease
# امضای APK Release
- name: Sign APK Release
run: |
echo "$MIIJrgIBAzCCCVgGCSqGSIb3DQEHAaCCCUkEgglFMIIJQTCCBagGCSqGSIb3DQEH
AaCCBZkEggWVMIIFkTCCBY0GCyqGSIb3DQEMCgECoIIFQDCCBTwwZgYJKoZIhvcN

Check failure on line 76 in .github/workflows/Generated APK AAB (Upload - Create Artifact To Github Action & Release).yml

View workflow run for this annotation

GitHub Actions / .github/workflows/Generated APK AAB (Upload - Create Artifact To Github Action & Release).yml

Invalid workflow file

You have an error in your yaml syntax on line 76
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" | 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 ${{ env.main_project_module }}/build/outputs/apk/release/app-release-signed.apk ${{ env.main_project_module }}/build/outputs/apk/release/app-release-unsigned.apk
# Verify the APK signature
- name: Verify APK Signature
run: apksigner verify ${{ env.main_project_module }}/build/outputs/apk/release/app-release-signed.apk
# آپلود خروجی‌ها به عنوان Artifact برای دانلود از GitHub Actions
- name: Upload APK Debug as Artifact
uses: actions/upload-artifact@v4
with:
name: APK-Debug-${{ env.VERSION }}
path: ${{ env.main_project_module }}/build/outputs/apk/debug/*.apk
- name: Upload APK Release as Artifact
uses: actions/upload-artifact@v4
with:
name: APK-Release-${{ env.VERSION }}
path: ${{ env.main_project_module }}/build/outputs/apk/release/*.apk
- name: Upload AAB as Artifact
uses: actions/upload-artifact@v4
with:
name: AAB-Release-${{ env.VERSION }}
path: ${{ env.main_project_module }}/build/outputs/bundle/release/*.aab
# ایجاد نسخه جدید در Release GitHub با متن `Released by GitHub Actions`
- name: Create GitHub Release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.VERSION }}
name: "Release - ${{ env.VERSION }}"
body: "### Released by GitHub Actions 🚀"
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# آپلود APK Debug به Releases
- name: Upload APK Debug to Release
uses: softprops/action-gh-release@v1
with:
files: ${{ env.main_project_module }}/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: ${{ env.main_project_module }}/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: ${{ env.main_project_module }}/build/outputs/bundle/release/*.aab
tag_name: ${{ env.VERSION }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}