disk space #1310
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: CI | |
| on: | |
| push: | |
| branches: [master, beta, ci2] | |
| pull_request: | |
| branches: [master, beta] | |
| workflow_dispatch: | |
| jobs: | |
| cancel_previous: | |
| if: ${{ github.event_name != 'push' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: styfle/[email protected] | |
| with: | |
| workflow_id: ${{ github.event.workflow.id }} | |
| build-and-test: | |
| needs: cancel_previous | |
| runs-on: 'ubuntu-latest' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Disk space (start) | |
| run: | | |
| df -h | |
| df -h /nix/store || true | |
| # Workaround for corepack enable in node | |
| # Source: (https://github.com/actions/setup-node/issues/899#issuecomment-1828798029) | |
| - name: devbox installer | |
| uses: jetify-com/[email protected] | |
| with: | |
| enable-cache: 'true' | |
| - name: build | |
| run: devbox run build | |
| run-e2e-ios: | |
| runs-on: ['macos-15' ] | |
| env: | |
| YARN_ENABLE_HARDENED_MODE: 0 | |
| XCODE_VERSION: '26.1.1' | |
| strategy: | |
| matrix: | |
| include: | |
| - name: ios-min | |
| ios-device: "iPhone 14" | |
| ios-runtime: "18.5" | |
| - name: ios-latest | |
| ios-device: "iPhone 17" | |
| ios-runtime: "26.1" | |
| steps: | |
| - uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: '26.1.1' | |
| - uses: actions/checkout@v4 | |
| - name: Disk space (start) | |
| run: | | |
| df -h | |
| df -h /nix/store || true | |
| - name: CocoaPods cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/Library/Caches/CocoaPods | |
| key: cocoapods-${{ runner.os }}-${{ env.XCODE_VERSION }}-${{ hashFiles('examples/E2E/ios/Podfile.lock') }} | |
| restore-keys: | | |
| cocoapods-${{ runner.os }}-${{ env.XCODE_VERSION }}- | |
| cocoapods-${{ runner.os }}- | |
| - name: DerivedData cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/Library/Developer/Xcode/DerivedData | |
| key: derived-${{ runner.os }}-${{ env.XCODE_VERSION }}-${{ hashFiles('examples/E2E/ios/Podfile.lock') }} | |
| restore-keys: | | |
| derived-${{ runner.os }}-${{ env.XCODE_VERSION }}- | |
| derived-${{ runner.os }}- | |
| - name: devbox installer | |
| uses: jetify-com/[email protected] | |
| with: | |
| enable-cache: 'true' | |
| # --omit-nix-env is important to use the macos system c toolchain instead of the nix toolchain | |
| - name: iOS setup (simulators, pods) | |
| env: | |
| IOS_DEVICE_NAMES: ${{ matrix.ios-device }} | |
| IOS_RUNTIME: ${{ matrix.ios-runtime }} | |
| run: | | |
| set -euo pipefail | |
| devbox shell --omit-nix-env --command "devbox run setup-ios && yarn install && yarn e2e install && yarn e2e pods" | |
| - name: iOS build | |
| run: | | |
| set -euo pipefail | |
| devbox shell --omit-nix-env --command "yarn build && yarn e2e build:ios" | |
| - name: iOS E2E Tests | |
| env: | |
| DETOX_IOS_DEVICE: ${{ matrix.ios-device }} | |
| run: | | |
| set -euo pipefail | |
| devbox shell --omit-nix-env --command "DETOX_IOS_DEVICE='${{ matrix.ios-device }}' yarn e2e test:ios" | |
| run-e2e-android: | |
| runs-on: 'ubuntu-22.04' | |
| strategy: | |
| matrix: | |
| include: | |
| - name: android-min | |
| avd-name: pixel_API21_x86_64 | |
| start-script: start-android-minsdk | |
| - name: android-latest | |
| avd-name: medium_phone_API33_x86_64 | |
| start-script: start-android-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Yarn cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cache/yarn | |
| .yarn/cache | |
| key: yarn-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} | |
| restore-keys: | | |
| yarn-${{ runner.os }}- | |
| - name: devbox installer | |
| uses: jetify-com/[email protected] | |
| with: | |
| enable-cache: 'true' | |
| - name: Disk space (start) | |
| run: | | |
| df -h | |
| df -h /nix/store || true | |
| - name: Gradle cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} | |
| - name: AVD cache | |
| uses: actions/cache@v4 | |
| id: avd-cache | |
| with: | |
| path: | | |
| ~/.android/avd/* | |
| ~/.android/adb* | |
| key: avd-${{ matrix.avd-name }} | |
| - name: Android setup (AVD + deps) | |
| env: | |
| DETOX_AVD: ${{ matrix.avd-name }} | |
| EMU_HEADLESS: "1" | |
| AVD_FLAVOR: ${{ startsWith(matrix.avd-name, 'pixel') && 'minsdk' || 'latest' }} | |
| run: | | |
| set -euo pipefail | |
| devbox run ${{ matrix.start-script }} | |
| devbox run setup-android | |
| yarn install | |
| yarn e2e install | |
| - name: Android build | |
| run: | | |
| set -euo pipefail | |
| devbox run setup-android | |
| yarn build | |
| yarn e2e build:android | |
| - name: Android E2E Tests | |
| env: | |
| DETOX_AVD: ${{ matrix.avd-name }} | |
| run: devbox run test-android |