diff --git a/.github/workflows/frontend-admin-build.yml b/.github/workflows/frontend-admin-build.yml index 5b6639e1..7b042393 100644 --- a/.github/workflows/frontend-admin-build.yml +++ b/.github/workflows/frontend-admin-build.yml @@ -32,7 +32,7 @@ jobs: working-directory: frontend-admin run: npx tsc --noEmit - build-apk-prod: + build-apk-preview: needs: typecheck runs-on: ubuntu-latest @@ -66,7 +66,7 @@ jobs: working-directory: frontend-admin env: EAS_BUILD_NO_EXPO_GO_WARNING: true - run: eas build --platform android --profile production --non-interactive + run: eas build --platform android --profile preview --non-interactive - name: Download production APK working-directory: frontend-admin @@ -80,3 +80,52 @@ jobs: name: admin-panel-android-prod-apk path: frontend-admin/admin-panel-prod.apk retention-days: 14 + + build-apk-prod: + needs: typecheck + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + cache-dependency-path: frontend-admin/package-lock.json + + - name: Setup Expo & EAS CLI + uses: expo/expo-github-action@v8 + with: + eas-version: latest + token: ${{ secrets.EXPO_TOKEN }} + + - name: Install dependencies + working-directory: frontend-admin + run: npm ci + + - name: Inject EAS project ID + working-directory: frontend-admin + run: | + jq '.expo.extra.eas.projectId = "${{ secrets.EXPO_PROJECT_ID }}"' app.json > app.tmp.json + mv app.tmp.json app.json + + - name: Build production APK + working-directory: frontend-admin + env: + EAS_BUILD_NO_EXPO_GO_WARNING: true + run: eas build --platform android --profile production --non-interactive + + - name: Download production APK + working-directory: frontend-admin + run: | + APK_URL=$(eas build:list --platform android --status finished --limit 1 --json --non-interactive | jq -r '.[0].artifacts.buildUrl') + curl -L -o admin-panel-prod.apk "$APK_URL" + + - name: Upload production APK artifact + uses: actions/upload-artifact@v4 + with: + name: admin-panel-android-prod-apk + path: frontend-admin/admin-panel-prod.apk + retention-days: 14 diff --git a/.github/workflows/frontend-client-build.yml b/.github/workflows/frontend-client-build.yml index dfd1e956..04161e52 100644 --- a/.github/workflows/frontend-client-build.yml +++ b/.github/workflows/frontend-client-build.yml @@ -32,7 +32,7 @@ jobs: working-directory: mobile run: npx tsc --noEmit - build-apk-prod: + build-apk-preview: needs: typecheck runs-on: ubuntu-latest @@ -70,7 +70,7 @@ jobs: working-directory: mobile env: EAS_BUILD_NO_EXPO_GO_WARNING: true - run: eas build --platform android --profile production --non-interactive + run: eas build --platform android --profile preview --non-interactive - name: Download production APK working-directory: mobile @@ -84,3 +84,56 @@ jobs: name: client-panel-android-prod-apk path: mobile/client-panel-prod.apk retention-days: 14 + + build-apk-prod: + needs: typecheck + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + cache-dependency-path: mobile/package-lock.json + + - name: Setup Expo & EAS CLI + uses: expo/expo-github-action@v8 + with: + eas-version: latest + token: ${{ secrets.EXPO_TOKEN }} + + - name: Install dependencies + working-directory: mobile + run: npm ci + + - name: Inject EAS project ID + working-directory: mobile + run: | + jq '.expo.extra.eas.projectId = "${{ secrets.EXPO_PROJECT_ID_CLIENT }}"' app.json > app.tmp.json + mv app.tmp.json app.json + + - name: Debug app.json + working-directory: mobile + run: cat app.json + + - name: Build production APK + working-directory: mobile + env: + EAS_BUILD_NO_EXPO_GO_WARNING: true + run: eas build --platform android --profile production --non-interactive + + - name: Download production APK + working-directory: mobile + run: | + APK_URL=$(eas build:list --platform android --status finished --limit 1 --json --non-interactive | jq -r '.[0].artifacts.buildUrl') + curl -L -o client-panel-prod.apk "$APK_URL" + + - name: Upload production APK artifact + uses: actions/upload-artifact@v4 + with: + name: client-panel-android-prod-apk + path: mobile/client-panel-prod.apk + retention-days: 14 diff --git a/frontend-admin/eas.json b/frontend-admin/eas.json index c1be6021..02dee8dd 100644 --- a/frontend-admin/eas.json +++ b/frontend-admin/eas.json @@ -1,41 +1,41 @@ { - "cli": { - "version": ">= 16.0.0", - "appVersionSource": "local" - }, - "build": { - "development": { - "developmentClient": true, - "distribution": "internal", - "android": { - "buildType": "apk", - "gradleCommand": ":app:assembleDebug" - }, - "ios": { - "simulator": true - }, - "env": { - "API_URL": "https://uber-stup.club" - } + "cli": { + "version": ">= 16.0.0", + "appVersionSource": "local" }, - "preview": { - "distribution": "internal", - "android": { - "buildType": "apk" - }, - "env": { - "API_URL": "https://uber-stup.club" - } - }, - "production": { - "distribution": "internal", - "autoIncrement": true, - "android": { - "buildType": "apk" - }, - "env": { - "API_URL": "https://uber-stup.club" - } + "build": { + "development": { + "developmentClient": true, + "distribution": "internal", + "android": { + "buildType": "apk", + "gradleCommand": ":app:assembleDebug" + }, + "ios": { + "simulator": true + }, + "env": { + "API_URL": "https://uber-stup.club" + } + }, + "preview": { + "distribution": "internal", + "android": { + "buildType": "apk" + }, + "env": { + "API_URL": "http://5.181.0.112" + } + }, + "production": { + "distribution": "internal", + "autoIncrement": true, + "android": { + "buildType": "apk" + }, + "env": { + "API_URL": "https://uber-stup.club" + } + } } - } } diff --git a/mobile/eas.json b/mobile/eas.json index 86bb7597..cfe64b94 100644 --- a/mobile/eas.json +++ b/mobile/eas.json @@ -25,7 +25,7 @@ "buildType": "apk" }, "env": { - "API_URL": "https://uber-stup.club" + "API_URL": "http://5.181.0.112" }, "channel": "preview" },