⬆️ GH Action: Updated the script for handling failure cases. #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Android App APK Build | |
on: | |
push: | |
branches: | |
- staging | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Check out the repository code | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# Step 2: Set up Node.js environment with caching for faster installs | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
cache: "npm" | |
# Step 3: Set up JDK 17 for Android build compatibility | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
# Step 4: Install the Android SDK | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v3 | |
# Step 5: Install Expo CLI and EAS CLI, passing Expo token for authentication | |
- name: Install Expo CLI and EAS CLI | |
uses: expo/expo-github-action@v8 | |
with: | |
expo-version: "6.3.2" # Specify Expo CLI version for stability | |
eas-version: "3.7.2" # Specify EAS CLI version for stability | |
token: ${{ secrets.EXPO_TOKEN }} # Use Expo token for authentication | |
# Step 6: Install project dependencies with Yarn | |
- name: Install dependencies | |
run: yarn install --frozen-lockfile | |
# Step 7: Build the Android APK using EAS | |
- name: Build Android app | |
run: | | |
eas build --platform android --profile preview --local --output ${{ github.workspace }}/app-release.apk | |
continue-on-error: false # Ensures the job fails on build error | |
# Step 8: Upload the generated APK file as an artifact for download | |
- name: Upload APK artifact | |
if: success() # Run only if the build step succeeded | |
uses: actions/upload-artifact@v4 # Updated to v4 to avoid deprecation | |
with: | |
name: app-release | |
path: ${{ github.workspace }}/app-release.apk |