Skip to content

Commit 087391c

Browse files
authored
Merge pull request #15 from amirisback/develop/add-bundletool
DEVELOP :: Add bundle tools
2 parents cc4de98 + e08e305 commit 087391c

File tree

2 files changed

+110
-2
lines changed

2 files changed

+110
-2
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
name: Generated APK AAB 2 (Upload - Create Artifact To Github Action)
2+
3+
env:
4+
# The name of the main module repository
5+
main_project_module: app
6+
7+
# The name of the Play Store
8+
playstore_name: Frogobox ID
9+
10+
# Name Artifact
11+
artifact_name: github-action-automated
12+
13+
# Version name
14+
version_app: 2.2.1
15+
16+
on:
17+
18+
push:
19+
branches:
20+
- 'release/**'
21+
22+
# Allows you to run this workflow manually from the Actions tab
23+
workflow_dispatch:
24+
25+
jobs:
26+
build:
27+
28+
runs-on: ubuntu-latest
29+
30+
steps:
31+
- uses: actions/checkout@v3
32+
33+
# Set Current Date As Env Variable
34+
- name: Set current date as env variable
35+
run: echo "date_today=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
36+
37+
# Set Repository Name As Env Variable
38+
- name: Set repository name as env variable
39+
run: echo "repository_name=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
40+
41+
# Set File Name As Env Variable
42+
- name: Set file name as env variable
43+
run: echo "file_name=$(echo '${{ env.artifact_name }}(${{ env.version_app }})')" >> $GITHUB_ENV
44+
45+
- name: Set Up JDK
46+
uses: actions/setup-java@v3
47+
with:
48+
distribution: 'zulu' # See 'Supported distributions' for available options
49+
java-version: '17'
50+
cache: 'gradle'
51+
52+
- name: Change wrapper permissions
53+
run: chmod +x ./gradlew
54+
55+
# Run Tests Build
56+
- name: Run gradle tests
57+
run: ./gradlew test
58+
59+
# Run Build Project
60+
- name: Build gradle project
61+
run: ./gradlew build
62+
63+
# Create APK Debug
64+
- name: Build apk debug project (APK) - ${{ env.main_project_module }} module
65+
run: ./gradlew assembleDebug
66+
67+
# Create APK Release
68+
- name: Build apk release project (APK) - ${{ env.main_project_module }} module
69+
run: ./gradlew assemble
70+
71+
# Create Bundle AAB Release
72+
# Noted for main module build [main_project_module]:bundleRelease
73+
- name: Build app bundle release (AAB) - ${{ env.main_project_module }} module
74+
run: ./gradlew ${{ env.main_project_module }}:bundleRelease
75+
76+
- name: Convert aab to apk
77+
uses: amirisback/bundletool-action-apk@v1.0.0
78+
with:
79+
aabFile: ${{ env.main_project_module }}/build/outputs/bundle/release/${{ env.file_name }}-release.aab
80+
bundletoolVersion: '1.9.0'
81+
82+
- name: Upload Artifact APK
83+
uses: actions/upload-artifact@v3
84+
with:
85+
name: release-apk
86+
path: ${{ steps.convert_aab.outputs.apkPath }}
87+
88+
# Upload Artifact Build
89+
# Noted For Output [main_project_module]/build/outputs/apk/debug/
90+
- name: Upload APK Debug - ${{ env.repository_name }}
91+
uses: actions/upload-artifact@v3
92+
with:
93+
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) debug generated
94+
path: ${{ env.main_project_module }}/build/outputs/apk/debug/
95+
96+
# Noted For Output [main_project_module]/build/outputs/apk/release/
97+
- name: Upload APK Release - ${{ env.repository_name }}
98+
uses: actions/upload-artifact@v3
99+
with:
100+
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - APK(s) release generated
101+
path: ${{ env.main_project_module }}/build/outputs/apk/release/
102+
103+
# Noted For Output [main_project_module]/build/outputs/bundle/release/
104+
- name: Upload AAB (App Bundle) Release - ${{ env.repository_name }}
105+
uses: actions/upload-artifact@v3
106+
with:
107+
name: ${{ env.date_today }} - ${{ env.playstore_name }} - ${{ env.repository_name }} - App bundle(s) AAB release generated
108+
path: ${{ env.main_project_module }}/build/outputs/bundle/release/

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22
plugins {
3-
id("com.android.application") version "8.0.0" apply false
4-
id("com.android.library") version "8.0.0" apply false
3+
id("com.android.application") version "8.0.2" apply false
4+
id("com.android.library") version "8.0.2" apply false
55
id("org.jetbrains.kotlin.android") version Dependency.KOTLIN_VERSION apply false
66
}
77

0 commit comments

Comments
 (0)