diff --git a/.github/workflows/frontend-admin-build-local.yml b/.github/workflows/frontend-admin-build-local.yml index d864d6ff..fbb6830a 100644 --- a/.github/workflows/frontend-admin-build-local.yml +++ b/.github/workflows/frontend-admin-build-local.yml @@ -11,28 +11,7 @@ on: - "frontend-admin/**" jobs: - 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: Install dependencies - working-directory: frontend-admin - run: npm ci - - - name: Typecheck - working-directory: frontend-admin - run: npx tsc --noEmit - build-apk: - needs: typecheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -62,6 +41,10 @@ jobs: working-directory: frontend-admin run: npm ci + - name: Typecheck + working-directory: frontend-admin + run: npx tsc --noEmit + - name: Inject EAS project ID working-directory: frontend-admin run: | @@ -100,8 +83,16 @@ jobs: EXPO_PUBLIC_API_URL: ${{ steps.config.outputs.api_url }} EXPO_PUBLIC_UPDATE_URL: ${{ steps.config.outputs.update_url }} EAS_BUILD_NO_EXPO_GO_WARNING: true - GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" - JAVA_TOOL_OPTIONS: "-Xmx4096m" + NODE_OPTIONS: "--max-old-space-size=2048" + GRADLE_OPTS: >- + -Dorg.gradle.jvmargs=-Xmx3g + -XX:MaxMetaspaceSize=512m + -XX:+UseG1GC + -XX:+HeapDumpOnOutOfMemoryError + -Dorg.gradle.daemon=false + -Dorg.gradle.parallel=true + -Dorg.gradle.workers.max=3 + JAVA_TOOL_OPTIONS: "-Xmx3g" run: eas build --platform android --profile ${{ steps.config.outputs.profile }} --local --non-interactive - name: Save Gradle cache (RustFS) @@ -132,7 +123,6 @@ jobs: ota-update: needs: build-apk runs-on: ubuntu-latest - # Ne publie pas sur les PR, seulement sur les pushs if: github.event_name == 'push' steps: - uses: actions/checkout@v4 @@ -146,7 +136,7 @@ jobs: - name: Install dependencies working-directory: frontend-admin - run: npm ci + run: npm ci --prefer-offline - name: Determine channel & env id: config @@ -173,6 +163,7 @@ jobs: EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }} EXPO_PUBLIC_API_URL: ${{ steps.config.outputs.api_url }} EXPO_PUBLIC_UPDATE_URL: ${{ secrets.XAVIA_API_URL }} + NODE_OPTIONS: "--max-old-space-size=2048" run: | RUNTIME_VERSION=$(jq -r '.expo.version' app.json) npx expo export --platform android --output-dir dist diff --git a/.github/workflows/frontend-client-build-local.yml b/.github/workflows/frontend-client-build-local.yml index 2da3bc23..171b5e39 100644 --- a/.github/workflows/frontend-client-build-local.yml +++ b/.github/workflows/frontend-client-build-local.yml @@ -11,28 +11,7 @@ on: - "mobile/**" jobs: - 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: Install dependencies - working-directory: mobile - run: npm ci - - - name: Typecheck - working-directory: mobile - run: npx tsc --noEmit - build-apk: - needs: typecheck runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -62,6 +41,10 @@ jobs: working-directory: mobile run: npm ci + - name: Typecheck + working-directory: mobile + run: npx tsc --noEmit + - name: Inject EAS project ID working-directory: mobile run: | @@ -100,8 +83,16 @@ jobs: EXPO_PUBLIC_API_URL: ${{ steps.config.outputs.api_url }} EXPO_PUBLIC_UPDATE_URL: ${{ steps.config.outputs.update_url }} EAS_BUILD_NO_EXPO_GO_WARNING: true - GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" - JAVA_TOOL_OPTIONS: "-Xmx4096m" + NODE_OPTIONS: "--max-old-space-size=2048" + GRADLE_OPTS: >- + -Dorg.gradle.jvmargs=-Xmx3g + -XX:MaxMetaspaceSize=512m + -XX:+UseG1GC + -XX:+HeapDumpOnOutOfMemoryError + -Dorg.gradle.daemon=false + -Dorg.gradle.parallel=true + -Dorg.gradle.workers.max=3 + JAVA_TOOL_OPTIONS: "-Xmx3g" run: eas build --platform android --profile ${{ steps.config.outputs.profile }} --local --non-interactive - name: Save Gradle cache (RustFS) @@ -132,7 +123,6 @@ jobs: ota-update: needs: build-apk runs-on: ubuntu-latest - # Ne publie pas sur les PR, seulement sur les pushs if: github.event_name == 'push' steps: - uses: actions/checkout@v4 @@ -146,7 +136,7 @@ jobs: - name: Install dependencies working-directory: mobile - run: npm ci + run: npm ci --prefer-offline - name: Determine channel & env id: config @@ -173,6 +163,7 @@ jobs: EXPO_TOKEN: ${{ secrets.EXPO_TOKEN }} EXPO_PUBLIC_API_URL: ${{ steps.config.outputs.api_url }} EXPO_PUBLIC_UPDATE_URL: ${{ secrets.XAVIA_API_URL }} + NODE_OPTIONS: "--max-old-space-size=2048" run: | RUNTIME_VERSION=$(jq -r '.expo.version' app.json) npx expo export --platform android --output-dir dist