From 785ac2f0b00d20d9783aa210963e27298ee09ca5 Mon Sep 17 00:00:00 2001 From: amirisback Date: Mon, 19 Jun 2023 05:48:13 +0700 Subject: [PATCH 1/2] update: add bundle tools --- .../android-ci-generate-apk-aab-upload-2.yml | 108 ++++++++++++++++++ build.gradle.kts | 4 +- 2 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/android-ci-generate-apk-aab-upload-2.yml diff --git a/.github/workflows/android-ci-generate-apk-aab-upload-2.yml b/.github/workflows/android-ci-generate-apk-aab-upload-2.yml new file mode 100644 index 0000000..fb47352 --- /dev/null +++ b/.github/workflows/android-ci-generate-apk-aab-upload-2.yml @@ -0,0 +1,108 @@ +name: Generated APK AAB (Upload - Create Artifact To Github Action) + +env: + # The name of the main module repository + main_project_module: app + + # The name of the Play Store + playstore_name: Frogobox ID + + # Name Artifact + artifact_name: github-action-automated + + # Version name + version_app: 2.2.1 + +on: + + push: + branches: + - 'release/**' + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + # Set Current Date As Env Variable + - name: Set current date as env variable + run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV + + # Set Repository Name As Env Variable + - name: Set repository name as env variable + run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV + + # Set File Name As Env Variable + - name: Set file name as env variable + run: echo "file_name=$(echo '${{ env.artifact_name }}(${{ env.version_app }})')" >> $GITHUB_ENV + + - name: Set Up JDK + uses: actions/setup-java@v3 + with: + distribution: 'zulu' # See 'Supported distributions' for available options + java-version: '17' + cache: 'gradle' + + - name: Change wrapper permissions + run: chmod +x ./gradlew + + # Run Tests Build + - name: Run gradle tests + run: ./gradlew test + + # Run Build Project + - name: Build gradle project + run: ./gradlew build + + # Create APK Debug + - name: Build apk debug project (APK) - ${{ env.main_project_module }} module + run: ./gradlew assembleDebug + + # Create APK Release + - name: Build apk release project (APK) - ${{ env.main_project_module }} module + run: ./gradlew assemble + + # Create Bundle AAB Release + # Noted for main module build [main_project_module]:bundleRelease + - name: Build app bundle release (AAB) - ${{ env.main_project_module }} module + run: ./gradlew ${{ env.main_project_module }}:bundleRelease + + - name: Convert aab to apk + uses: amirisback/bundletool-action-apk@v1.0.0 + with: + aabFile: ${{ env.main_project_module }}/build/outputs/bundle/release/${{ env.file_name }}-release.aab + bundletoolVersion: '1.9.0' + + - name: Upload Artifact APK + uses: actions/upload-artifact@v3 + with: + name: release-apk + path: ${{ steps.convert_aab.outputs.apkPath }} + + # Upload Artifact Build + # Noted For Output [main_project_module]/build/outputs/apk/debug/ + - name: Upload APK Debug - ${{ env.repository_name }} + uses: actions/upload-artifact@v3 + with: + name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated + path: ${{ env.main_project_module }}/build/outputs/apk/debug/ + + # Noted For Output [main_project_module]/build/outputs/apk/release/ + - name: Upload APK Release - ${{ env.repository_name }} + uses: actions/upload-artifact@v3 + with: + name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated + path: ${{ env.main_project_module }}/build/outputs/apk/release/ + + # Noted For Output [main_project_module]/build/outputs/bundle/release/ + - name: Upload AAB (App Bundle) Release - ${{ env.repository_name }} + uses: actions/upload-artifact@v3 + with: + name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated + path: ${{ env.main_project_module }}/build/outputs/bundle/release/ \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 8fb0dc3..a168660 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id("com.android.application") version "8.0.0" apply false - id("com.android.library") version "8.0.0" apply false + id("com.android.application") version "8.0.2" apply false + id("com.android.library") version "8.0.2" apply false id("org.jetbrains.kotlin.android") version Dependency.KOTLIN_VERSION apply false } From e08e305f093668234d66313e5d768abd8435136b Mon Sep 17 00:00:00 2001 From: amirisback Date: Mon, 19 Jun 2023 05:51:49 +0700 Subject: [PATCH 2/2] update: add bundle tools --- .github/workflows/android-ci-generate-apk-aab-upload-2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android-ci-generate-apk-aab-upload-2.yml b/.github/workflows/android-ci-generate-apk-aab-upload-2.yml index fb47352..b15fb56 100644 --- a/.github/workflows/android-ci-generate-apk-aab-upload-2.yml +++ b/.github/workflows/android-ci-generate-apk-aab-upload-2.yml @@ -1,4 +1,4 @@ -name: Generated APK AAB (Upload - Create Artifact To Github Action) +name: Generated APK AAB 2 (Upload - Create Artifact To Github Action) env: # The name of the main module repository