Skip to content

Commit 0532868

Browse files
Update Android build pipeline with new branches and steps
1 parent c8c31e4 commit 0532868

File tree

1 file changed

+36
-21
lines changed

1 file changed

+36
-21
lines changed

.github/workflows/android.yml

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,23 @@ name: Android Build Pipeline
22

33
on:
44
push:
5-
branches: [ "main", "dev" ]
5+
branches: [ "main", "dev", "indexing", "release/**" ]
66
workflow_dispatch: { }
77

88
jobs:
99
build:
10+
name: Build All APK Variants
1011
runs-on: ubuntu-latest
12+
13+
# Heap space aur RAM errors ko root se khatam karne ke liye environment settings
14+
env:
15+
JAVA_OPTS: "-Xmx4096m -XX:+UseParallelGC"
16+
GRADLE_OPTS: "-Dorg.gradle.jvmargs='-Xmx4096m -XX:MaxMetaspaceSize=1024m' -Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true"
17+
MAIN_VERSION: "1.0.0"
18+
REVISION_NUM: "03"
19+
1120
steps:
12-
- name: Checkout Code
21+
- name: Checkout Source Code
1322
uses: actions/checkout@v4
1423
with:
1524
submodules: 'recursive'
@@ -21,28 +30,34 @@ jobs:
2130
java-version: '17'
2231
distribution: 'temurin'
2332

24-
- name: Fix Project Structure
25-
# Agar build-logic mein settings file nahi hai, toh ek khali file bana do
26-
# taaki Gradle crash na ho.
33+
- name: Fix Project Permissions and Structure
2734
run: |
28-
mkdir -p composite-builds/build-logic
29-
touch composite-builds/build-logic/settings.gradle
3035
chmod +x ./gradlew
36+
# Saare sub-modules ke gradlew ko permission dena
37+
find . -name "gradlew" -exec chmod +x {} +
38+
# Missing settings files ka placeholder banana taaki composite build fail na ho
39+
mkdir -p composite-builds/build-logic
40+
[ -f composite-builds/build-logic/settings.gradle ] || touch composite-builds/build-logic/settings.gradle
41+
[ -f composite-builds/build-logic/build.gradle ] || touch composite-builds/build-logic/build.gradle
3142
32-
- name: Build Android Code Studio
33-
# Hum -P (Properties) ka use karenge taaki dependencies refresh ho jayein
34-
run: |
35-
./gradlew :core:app:assembleDebug \
36-
-x validateSigningDebug \
37-
--no-daemon \
38-
--stacktrace \
39-
-Dorg.gradle.jvmargs="-Xmx4g -XX:+UseParallelGC"
40-
env:
41-
MAIN_VERSION: "1.0.0"
42-
REVISION_NUM: "03"
43-
44-
- name: Upload APKs
43+
- name: Cache Gradle Dependencies
44+
uses: actions/cache@v4
45+
with:
46+
path: |
47+
~/.gradle/caches
48+
~/.gradle/wrapper
49+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
50+
restore-keys: |
51+
${{ runner.os }}-gradle-
52+
53+
- name: Full Project Compile (Assemble)
54+
# 'assemble' command pure project ke saare modules (core, termux, etc) ko build karegi
55+
# -x validateSigningDebug se bina signing key ke APK ban jayegi
56+
run: ./gradlew assemble -x validateSigningDebug --no-daemon --stacktrace
57+
58+
- name: Upload All Generated APKs
4559
uses: actions/upload-artifact@v4
4660
with:
47-
name: AndroidCodeStudio-Build
61+
name: AndroidCodeStudio-Full-APKs
4862
path: '**/build/outputs/apk/**/*.apk'
63+
if-no-files-found: error

0 commit comments

Comments
 (0)