name: RN APK Build on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: # ---------------- CHECKOUT ---------------- - name: Checkout code uses: actions/checkout@v4 # ---------------- NODE ---------------- - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install dependencies run: npm ci # ---------------- JAVA ---------------- - name: Setup Java uses: actions/setup-java@v4 with: distribution: temurin java-version: 17 cache: gradle # ---------------- ANDROID SDK ---------------- - name: Setup Android SDK uses: android-actions/setup-android@v3 # ---------------- PERMISSION ---------------- - name: Grant permission run: chmod +x android/gradlew # ---------------- STABLE GRADLE CONFIG ---------------- - name: Set Gradle Stability Fix run: | echo "org.gradle.daemon=false" >> android/gradle.properties echo "org.gradle.parallel=false" >> android/gradle.properties echo "org.gradle.caching=true" >> android/gradle.properties echo "systemProp.https.protocols=TLSv1.2,TLSv1.3" >> android/gradle.properties # ---------------- BUILD APK (STABLE FIXED) ---------------- - name: Build APK (Stable) run: | cd android ./gradlew clean ./gradlew assembleRelease \ --refresh-dependencies \ --no-daemon \ --stacktrace \ --info # ---------------- VERIFY ---------------- - name: Check APK Output run: ls -R android/app/build/outputs/apk # ---------------- SAVE TO VM ---------------- - name: Save APK to VM folder run: | mkdir -p /home/pgadmin1/builds cp android/app/build/outputs/apk/release/app-release.apk /home/pgadmin1/builds/app-release.apk # ---------------- ARTIFACT ---------------- - name: Upload APK uses: actions/upload-artifact@v3 with: name: app-release path: android/app/build/outputs/apk/release/app-release.apk