Restore ads implementation #31
This file contains hidden or 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: π¦ Expo EAS Local Android Build | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| build-android-local: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: π Setup repository | |
| uses: actions/checkout@v4 | |
| - name: π§± Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: π§° Setup EAS CLI | |
| uses: expo/expo-github-action@v8 | |
| with: | |
| eas-version: latest | |
| token: ${{ secrets.EXPO_TOKEN }} | |
| - name: π¦ Install dependencies | |
| run: npm install | |
| - name: π§© Setup Android SDK | |
| uses: android-actions/setup-android@v3 | |
| with: | |
| api-level: 34 | |
| build-tools: 34.0.0 | |
| - name: π Decode custom keystore | |
| run: echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode > my-release-key.jks | |
| - name: ποΈ Build Android AAB (production) | |
| run: eas build --platform android --profile production --local --non-interactive | |
| env: | |
| EAS_NO_VCS: 1 | |
| EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }} | |
| ANDROID_KEYSTORE_PATH: my-release-key.jks | |
| ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | |
| ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} | |
| ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} | |
| # Firebase | |
| EXPO_PUBLIC_FIREBASE_API_KEY: ${{ secrets.EXPO_PUBLIC_FIREBASE_API_KEY }} | |
| EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN: ${{ secrets.EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN }} | |
| EXPO_PUBLIC_FIREBASE_PROJECT_ID: ${{ secrets.EXPO_PUBLIC_FIREBASE_PROJECT_ID }} | |
| EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET: ${{ secrets.EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET }} | |
| EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID }} | |
| EXPO_PUBLIC_FIREBASE_APP_ID: ${{ secrets.EXPO_PUBLIC_FIREBASE_APP_ID }} | |
| # Admin Credentials | |
| EXPO_PUBLIC_ADMIN_USERNAME_1: ${{ secrets.EXPO_PUBLIC_ADMIN_USERNAME_1 }} | |
| EXPO_PUBLIC_ADMIN_PASSWORD_1: ${{ secrets.EXPO_PUBLIC_ADMIN_PASSWORD_1 }} | |
| EXPO_PUBLIC_ADMIN_ROLE_1: ${{ secrets.EXPO_PUBLIC_ADMIN_ROLE_1 }} | |
| EXPO_PUBLIC_ADMIN_MARKET_1: ${{ secrets.EXPO_PUBLIC_ADMIN_MARKET_1 }} | |
| EXPO_PUBLIC_ADMIN_USERNAME_2: ${{ secrets.EXPO_PUBLIC_ADMIN_USERNAME_2 }} | |
| EXPO_PUBLIC_ADMIN_PASSWORD_2: ${{ secrets.EXPO_PUBLIC_ADMIN_PASSWORD_2 }} | |
| EXPO_PUBLIC_ADMIN_ROLE_2: ${{ secrets.EXPO_PUBLIC_ADMIN_ROLE_2 }} | |
| EXPO_PUBLIC_ADMIN_MARKET_2: ${{ secrets.EXPO_PUBLIC_ADMIN_MARKET_2 }} | |
| EXPO_PUBLIC_ADMIN_USERNAME_3: ${{ secrets.EXPO_PUBLIC_ADMIN_USERNAME_3 }} | |
| EXPO_PUBLIC_ADMIN_PASSWORD_3: ${{ secrets.EXPO_PUBLIC_ADMIN_PASSWORD_3 }} | |
| EXPO_PUBLIC_ADMIN_ROLE_3: ${{ secrets.EXPO_PUBLIC_ADMIN_ROLE_3 }} | |
| EXPO_PUBLIC_ADMIN_MARKET_3: ${{ secrets.EXPO_PUBLIC_ADMIN_MARKET_3 }} | |
| # Backend & AI | |
| EXPO_PUBLIC_BACKEND_URL: ${{ secrets.EXPO_PUBLIC_BACKEND_URL }} | |
| EXPO_PUBLIC_GEMINI_API_KEY: ${{ secrets.EXPO_PUBLIC_GEMINI_API_KEY }} | |
| EXPO_PUBLIC_GEMINI_ADMIN_API_KEY: ${{ secrets.EXPO_PUBLIC_GEMINI_ADMIN_API_KEY }} | |
| EXPO_PUBLIC_GROQ_API_KEY: ${{ secrets.EXPO_PUBLIC_GROQ_API_KEY }} | |
| EXPO_PUBLIC_OPENROUTER_API_KEY: ${{ secrets.EXPO_PUBLIC_OPENROUTER_API_KEY }} | |
| - name: ποΈ Build Android APK (preview) | |
| run: eas build --platform android --profile preview --local --non-interactive | |
| env: | |
| EAS_NO_VCS: 1 | |
| EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }} | |
| ANDROID_KEYSTORE_PATH: my-release-key.jks | |
| ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | |
| ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} | |
| ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} | |
| # Firebase | |
| EXPO_PUBLIC_FIREBASE_API_KEY: ${{ secrets.EXPO_PUBLIC_FIREBASE_API_KEY }} | |
| EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN: ${{ secrets.EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN }} | |
| EXPO_PUBLIC_FIREBASE_PROJECT_ID: ${{ secrets.EXPO_PUBLIC_FIREBASE_PROJECT_ID }} | |
| EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET: ${{ secrets.EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET }} | |
| EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID }} | |
| EXPO_PUBLIC_FIREBASE_APP_ID: ${{ secrets.EXPO_PUBLIC_FIREBASE_APP_ID }} | |
| # Admin Credentials | |
| EXPO_PUBLIC_ADMIN_USERNAME_1: ${{ secrets.EXPO_PUBLIC_ADMIN_USERNAME_1 }} | |
| EXPO_PUBLIC_ADMIN_PASSWORD_1: ${{ secrets.EXPO_PUBLIC_ADMIN_PASSWORD_1 }} | |
| EXPO_PUBLIC_ADMIN_ROLE_1: ${{ secrets.EXPO_PUBLIC_ADMIN_ROLE_1 }} | |
| EXPO_PUBLIC_ADMIN_MARKET_1: ${{ secrets.EXPO_PUBLIC_ADMIN_MARKET_1 }} | |
| EXPO_PUBLIC_ADMIN_USERNAME_2: ${{ secrets.EXPO_PUBLIC_ADMIN_USERNAME_2 }} | |
| EXPO_PUBLIC_ADMIN_PASSWORD_2: ${{ secrets.EXPO_PUBLIC_ADMIN_PASSWORD_2 }} | |
| EXPO_PUBLIC_ADMIN_ROLE_2: ${{ secrets.EXPO_PUBLIC_ADMIN_ROLE_2 }} | |
| EXPO_PUBLIC_ADMIN_MARKET_2: ${{ secrets.EXPO_PUBLIC_ADMIN_MARKET_2 }} | |
| EXPO_PUBLIC_ADMIN_USERNAME_3: ${{ secrets.EXPO_PUBLIC_ADMIN_USERNAME_3 }} | |
| EXPO_PUBLIC_ADMIN_PASSWORD_3: ${{ secrets.EXPO_PUBLIC_ADMIN_PASSWORD_3 }} | |
| EXPO_PUBLIC_ADMIN_ROLE_3: ${{ secrets.EXPO_PUBLIC_ADMIN_ROLE_3 }} | |
| EXPO_PUBLIC_ADMIN_MARKET_3: ${{ secrets.EXPO_PUBLIC_ADMIN_MARKET_3 }} | |
| # Backend & AI | |
| EXPO_PUBLIC_BACKEND_URL: ${{ secrets.EXPO_PUBLIC_BACKEND_URL }} | |
| EXPO_PUBLIC_GEMINI_API_KEY: ${{ secrets.EXPO_PUBLIC_GEMINI_API_KEY }} | |
| EXPO_PUBLIC_GEMINI_ADMIN_API_KEY: ${{ secrets.EXPO_PUBLIC_GEMINI_ADMIN_API_KEY }} | |
| EXPO_PUBLIC_GROQ_API_KEY: ${{ secrets.EXPO_PUBLIC_GROQ_API_KEY }} | |
| EXPO_PUBLIC_OPENROUTER_API_KEY: ${{ secrets.EXPO_PUBLIC_OPENROUTER_API_KEY }} | |
| - name: π€ Upload AAB | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: android-aab | |
| path: "**/*.aab" | |
| - name: π€ Upload APK | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: android-apk | |
| path: "**/*.apk" |