Skip to content

Commit 9557f82

Browse files
authored
Update android.yml
testing workflow of another app
1 parent 6e4b1a5 commit 9557f82

1 file changed

Lines changed: 44 additions & 48 deletions

File tree

.github/workflows/android.yml

Lines changed: 44 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1-
name: Android CI & Release Build
1+
name: Android CI Workflow
22

33
on:
44
push:
5-
branches: [ "main", "master" ]
5+
branches:
6+
- main
7+
- master
68
pull_request:
7-
branches: [ "main", "master" ]
8-
workflow_dispatch:
9+
branches:
10+
- main
11+
- master
12+
13+
permissions:
14+
contents: read
915

1016
jobs:
1117
build:
@@ -18,71 +24,61 @@ jobs:
1824
- name: Set up JDK 17
1925
uses: actions/setup-java@v4
2026
with:
27+
distribution: temurin
2128
java-version: '17'
22-
distribution: 'temurin'
29+
cache: gradle
2330

2431
- name: Setup Gradle
25-
uses: gradle/actions/setup-gradle@v3
32+
uses: gradle/actions/setup-gradle@v4
33+
with:
34+
validate-wrappers: false
2635

27-
- name: Create .env File
28-
env:
29-
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
36+
- name: Make Gradle Wrapper Executable & Ensure Valid Wrapper
3037
run: |
31-
touch .env
32-
if [ -n "$GEMINI_API_KEY" ]; then
33-
echo "GEMINI_API_KEY=$GEMINI_API_KEY" >> .env
34-
else
35-
echo "GEMINI_API_KEY=placeholder_key" >> .env
38+
if ! java -jar gradle/wrapper/gradle-wrapper.jar --version > /dev/null 2>&1; then
39+
echo "Gradle wrapper JAR is corrupted or missing. Regenerating..."
40+
gradle wrapper --gradle-version 9.3.1
3641
fi
42+
chmod +x ./gradlew
3743
38-
- name: Decode Keystore
44+
- name: Ensure Debug Keystore
45+
run: |
46+
if [ ! -f "debug.keystore" ]; then
47+
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Android Debug,O=Android,C=US"
48+
fi
49+
50+
- name: Decode Release Keystore
51+
shell: bash
3952
env:
4053
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
4154
run: |
4255
if [ -n "$KEYSTORE_BASE64" ]; then
43-
echo "$KEYSTORE_BASE64" | base64 -d > release.keystore
56+
echo "$KEYSTORE_BASE64" | base64 --decode > app/release-keystore.jks
4457
fi
4558
46-
- name: Grant Execute Permissions
47-
run: |
48-
if [ -f "./gradlew" ]; then
49-
chmod +x gradlew
50-
fi
59+
- name: Build Debug APK
60+
run: ./gradlew assembleDebug --stacktrace
5161

52-
- name: Build Debug & Release APKs
62+
- name: Build Release APK
5363
env:
54-
KEYSTORE_PATH: ${{ github.workspace }}/release.keystore
55-
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
64+
KEYSTORE_PATH: app/release-keystore.jks
65+
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
5666
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
5767
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
58-
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
59-
run: |
60-
if [ -f "./gradlew" ]; then
61-
./gradlew assembleDebug assembleRelease --no-daemon
62-
else
63-
gradle assembleDebug assembleRelease --no-daemon
64-
fi
65-
66-
- name: Run Unit Tests
67-
run: |
68-
if [ -f "./gradlew" ]; then
69-
./gradlew testDebugUnitTest --no-daemon
70-
else
71-
gradle testDebugUnitTest --no-daemon
72-
fi
68+
run: ./gradlew assembleRelease --stacktrace
7369

74-
- name: Upload Debug APK Artifact
75-
if: always()
70+
- name: Upload Debug APK
7671
uses: actions/upload-artifact@v4
7772
with:
78-
name: app-debug-apk
73+
name: app-debug
7974
path: app/build/outputs/apk/debug/app-debug.apk
80-
if-no-files-found: ignore
8175

82-
- name: Upload Release APK Artifact
83-
if: always()
76+
- name: Upload Release APK
8477
uses: actions/upload-artifact@v4
8578
with:
86-
name: app-release-apk
87-
path: app/build/outputs/apk/release/app-release.apk
88-
if-no-files-found: ignore
79+
name: app-release
80+
path: app/build/outputs/apk/release/*.apk
81+
82+
- name: Clean Up
83+
if: always()
84+
run: rm -f app/release-keystore.jks

0 commit comments

Comments
 (0)