[pull] main from expo:main #4712
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: Android Instrumentation Tests | |
| on: | |
| workflow_dispatch: {} | |
| push: | |
| branches: [main] | |
| paths: | |
| - .github/workflows/android-instrumentation-tests.yml | |
| - apps/expo-go/android/** | |
| - fastlane/** | |
| # - packages/**/android/** | |
| - packages/expo-eas-client/android/** | |
| - packages/expo-file-system/android/** | |
| - packages/expo-json-utils/android/** | |
| - packages/expo-manifests/android/** | |
| - packages/expo-notifications/android/** | |
| - packages/expo-updates/android/** | |
| - packages/expo-modules-core/** | |
| - tools/src/commands/AndroidNativeUnitTests.ts | |
| - pnpm-lock.yaml | |
| - '!packages/@expo/cli/**' | |
| - '!**.md' | |
| - '!**/__tests__/**' | |
| - '!**/__mocks__/**' | |
| pull_request: | |
| paths: | |
| - .github/workflows/android-instrumentation-tests.yml | |
| - apps/expo-go/android/** | |
| - fastlane/** | |
| # - packages/**/android/** | |
| - packages/expo-eas-client/android/** | |
| - packages/expo-file-system/android/** | |
| - packages/expo-json-utils/android/** | |
| - packages/expo-manifests/android/** | |
| - packages/expo-notifications/android/** | |
| - packages/expo-updates/android/** | |
| - packages/expo-modules-core/** | |
| - tools/src/commands/AndroidNativeUnitTests.ts | |
| - pnpm-lock.yaml | |
| - '!packages/@expo/cli/**' | |
| - '!**.md' | |
| - '!**/__tests__/**' | |
| - '!**/__mocks__/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 150 | |
| env: | |
| ORG_GRADLE_PROJECT_reactNativeArchitectures: x86_64 | |
| GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=2048m -Dorg.gradle.daemon=false | |
| strategy: | |
| matrix: | |
| api-level: [36] | |
| steps: | |
| - name: 👀 Check out repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - name: 🔨 Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: ⬢ Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: 'pnpm' | |
| - name: 🧹 Cleanup GitHub Linux runner disk space | |
| uses: ./.github/actions/cleanup-linux-disk-space | |
| - name: 🔨 Use JDK 17 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '17' | |
| - name: ♻️ Restore caches | |
| uses: ./.github/actions/expo-caches | |
| id: expo-caches | |
| with: | |
| gradle: 'true' | |
| react-native-gradle-downloads: 'true' | |
| - name: ➕ Add `bin` to GITHUB_PATH | |
| run: echo "$(pwd)/bin" >> $GITHUB_PATH | |
| - name: 📦 Install node modules | |
| run: pnpm install --frozen-lockfile | |
| - name: 📱 Run instrumented unit tests | |
| timeout-minutes: 80 | |
| uses: ./.github/actions/use-android-emulator | |
| with: | |
| avd-api: ${{ matrix.api-level }} | |
| avd-name: avd-${{ matrix.api-level }} | |
| script: pnpm expotools android-native-unit-tests --type instrumented | |
| - name: 💾 Save test results | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| path: packages/*/android/build/outputs/androidTest-results/**/* |