diff --git a/.github/workflows/create_test_patches.yml b/.github/workflows/create_test_patches.yml index 1c2195b1d2..5519aa44fe 100644 --- a/.github/workflows/create_test_patches.yml +++ b/.github/workflows/create_test_patches.yml @@ -40,6 +40,7 @@ jobs: - uses: actions/cache/restore@v4 name: Yarn Cache Restore id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -102,6 +103,7 @@ jobs: - uses: actions/cache/save@v4 name: Yarn Cache Save if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3689304f33..0f67f094f7 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -27,6 +27,7 @@ jobs: - uses: actions/cache/restore@v4 name: Yarn Cache Restore id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -46,6 +47,7 @@ jobs: - uses: actions/cache/save@v4 name: Yarn Cache Save if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index da7d4d0f32..54c77fbe61 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -33,6 +33,7 @@ jobs: - uses: actions/cache/restore@v4 name: Yarn Cache Restore id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -54,6 +55,7 @@ jobs: - uses: actions/cache/save@v4 name: Yarn Cache Save if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -73,6 +75,7 @@ jobs: - uses: actions/cache/restore@v4 name: Yarn Cache Restore id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -89,6 +92,7 @@ jobs: - uses: actions/cache/save@v4 name: Yarn Cache Save if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -108,6 +112,7 @@ jobs: - uses: actions/cache/restore@v4 name: Yarn Cache Restore id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-with-website-v1-${{ hashFiles('yarn.lock') }} @@ -131,6 +136,7 @@ jobs: - uses: actions/cache/save@v4 name: Yarn Cache Save if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-with-website-v1-${{ hashFiles('yarn.lock') }} diff --git a/.github/workflows/tests_e2e_android.yml b/.github/workflows/tests_e2e_android.yml index 6b3c46f54d..be29cc203b 100644 --- a/.github/workflows/tests_e2e_android.yml +++ b/.github/workflows/tests_e2e_android.yml @@ -142,9 +142,10 @@ jobs: echo "metro-cache=$HOME/.metro" >> $GITHUB_OUTPUT echo "tempdir=$TMPDIR" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - name: Yarn Cache + - name: Yarn Cache Restore + uses: actions/cache/restore@v4 id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-android-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -158,9 +159,13 @@ jobs: max_attempts: 3 command: DETOX_DISABLE_POSTINSTALL=1 yarn - - name: Cache Firestore Emulator - uses: actions/cache@v4 + - name: Firestore Emulator Restore + uses: actions/cache/restore@v4 + id: firestore-emulator-cache + continue-on-error: true with: + # The firebase emulators are pure javascript and java, OS-independent + enableCrossOsArchive: true path: ~/.cache/firebase/emulators key: firebase-emulators-v1-${{ github.run_id }} restore-keys: firebase-emulators-v1 @@ -168,8 +173,10 @@ jobs: - name: Start Firestore Emulator run: yarn tests:emulator:start-ci - - uses: actions/cache@v4 - name: Gradle Cache + - name: Gradle Cache Restore + uses: actions/cache/restore@v4 + id: gradle-cache + continue-on-error: true with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-v1-${{ hashFiles('yarn.lock', 'tests/android/build.gradle', 'tests/android/app/build.gradle') }} @@ -183,8 +190,10 @@ jobs: max_attempts: 3 command: yarn tests:android:build - - name: Metro Bundler Cache - uses: actions/cache@v4 + - name: Metro Bundler Cache Restore + uses: actions/cache/restore@v4 + id: metro-bundler-cache + continue-on-error: true with: path: ${{ steps.workflow-variables.outputs.metro-cache }} key: ${{ runner.os }}-metro-v1-${{ github.run_id }} @@ -241,3 +250,37 @@ jobs: with: name: adb_logs_${{ matrix.api-level}}_${{ matrix.arch }}_${{ matrix.target }}_${{ matrix.iteration }} path: adb-*.txt + + - name: Yarn Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: .yarn/cache + key: ${{ steps.yarn-cache.outputs.cache-primary-key }} + + - name: Firestore Emulator Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + # The firebase emulators are pure javascript and java, OS-independent + enableCrossOsArchive: true + path: ~/.cache/firebase/emulators + key: ${{ steps.firestore-emulator-cache.outputs.cache-primary-key }} + + - name: Gradle Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: ~/.gradle/caches + key: ${{ steps.gradle-cache.outputs.cache-primary-key }} + + - name: Metro Bundler Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: ${{ steps.workflow-variables.outputs.metro-cache }} + key: ${{ steps.metro-bundler-cache.outputs.cache-primary-key }} diff --git a/.github/workflows/tests_e2e_ios.yml b/.github/workflows/tests_e2e_ios.yml index 0b7bd291d1..0462e80bd3 100644 --- a/.github/workflows/tests_e2e_ios.yml +++ b/.github/workflows/tests_e2e_ios.yml @@ -141,17 +141,19 @@ jobs: echo "metro-cache=$HOME/.metro" >> $GITHUB_OUTPUT echo "xcode-version=$(xcodebuild -version|tail -1|cut -f3 -d' ')" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - name: Yarn Cache + - name: Yarn Cache Restore + uses: actions/cache/restore@v4 id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-ios-yarn-v1-${{ hashFiles('yarn.lock') }} restore-keys: ${{ runner.os }}-ios-yarn-v1 - - uses: actions/cache@v4 - name: Detox Framework Cache + - name: Detox Framework Cache Restore + uses: actions/cache/restore@v4 id: detox-cache + continue-on-error: true with: path: ~/Library/Detox/ios key: ${{ runner.os }}-detox-framework-cache-${{ steps.workflow-variables.outputs.xcode-version }} @@ -185,9 +187,10 @@ jobs: max_attempts: 3 command: gem update cocoapods xcodeproj - - uses: actions/cache@v4 - name: Cache Pods + - name: Pods Cache Restore + uses: actions/cache/restore@v4 id: pods-cache + continue-on-error: true with: path: tests/ios/Pods key: ${{ runner.os }}-ios-pods-v3-${{ hashFiles('tests/ios/Podfile.lock') }} @@ -201,9 +204,13 @@ jobs: max_attempts: 3 command: yarn tests:ios:pod:install - - name: Cache Firestore Emulator - uses: actions/cache@v4 + - name: Firestore Emulator Restore + uses: actions/cache/restore@v4 + id: firestore-emulator-cache + continue-on-error: true with: + # The firebase emulators are pure javascript and java, OS-independent + enableCrossOsArchive: true path: ~/.cache/firebase/emulators key: firebase-emulators-v1-${{ github.run_id }} restore-keys: firebase-emulators-v1 @@ -254,8 +261,10 @@ jobs: ccache -s shell: bash - - name: Metro Bundler Cache - uses: actions/cache@v4 + - name: Metro Bundler Cache Restore + uses: actions/cache/restore@v4 + id: metro-bundler-cache + continue-on-error: true with: path: ${{ steps.workflow-variables.outputs.metro-cache }} key: ${{ runner.os }}-ios-metro-v1-${{ github.run_id }} @@ -344,3 +353,45 @@ jobs: continue-on-error: true with: verbose: true + + - name: Yarn Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: .yarn/cache + key: ${{ steps.yarn-cache.outputs.cache-primary-key }} + + - name: Detox Framework Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: ~/Library/Detox/ios + key: ${{ steps.detox-cache.outputs.cache-primary-key }} + + - name: Pods Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: tests/ios/Pods + key: ${{ steps.pods-cache.outputs.cache-primary-key }} + + - name: Firestore Emulator Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + # The firebase emulators are pure javascript and java, OS-independent + enableCrossOsArchive: true + path: ~/.cache/firebase/emulators + key: ${{ steps.firestore-emulator-cache.outputs.cache-primary-key }} + + - name: Metro Bundler Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: ${{ steps.workflow-variables.outputs.metro-cache }} + key: ${{ steps.metro-bundler-cache.outputs.cache-primary-key }} diff --git a/.github/workflows/tests_e2e_other.yml b/.github/workflows/tests_e2e_other.yml index 735e95d3a1..98a41322f3 100644 --- a/.github/workflows/tests_e2e_other.yml +++ b/.github/workflows/tests_e2e_other.yml @@ -135,9 +135,10 @@ jobs: echo "metro-cache=$HOME/.metro" >> $GITHUB_OUTPUT echo "xcode-version=$(xcodebuild -version|tail -1|cut -f3 -d' ')" >> $GITHUB_OUTPUT - - uses: actions/cache@v4 - name: Yarn Cache + - name: Yarn Cache Restore + uses: actions/cache/restore@v4 id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-macos-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -171,13 +172,14 @@ jobs: max_attempts: 3 command: gem update cocoapods xcodeproj - - uses: actions/cache@v4 - name: Cache Pods + - name: Pods Cache Restore + uses: actions/cache/restore@v4 id: pods-cache + continue-on-error: true with: - path: tests/macos/Pods - key: ${{ runner.os }}-macos-pods-v2-${{ hashFiles('tests/macos/Podfile.lock') }} - restore-keys: ${{ runner.os }}-macos-pods-v2 + path: tests/ios/Pods + key: ${{ runner.os }}-macos-pods-v3-${{ hashFiles('tests/ios/Podfile.lock') }} + restore-keys: ${{ runner.os }}-macos-pods-v3 - name: Pod Install uses: nick-fields/retry@v3 @@ -187,9 +189,13 @@ jobs: max_attempts: 3 command: yarn tests:macos:pod:install - - name: Cache Firestore Emulator - uses: actions/cache@v4 + - name: Firestore Emulator Cache Restore + uses: actions/cache/restore@v4 + id: firestore-emulator-cache + continue-on-error: true with: + # The firebase emulators are pure javascript and java, OS-independent + enableCrossOsArchive: true path: ~/.cache/firebase/emulators key: firebase-emulators-v1-${{ github.run_id }} restore-keys: firebase-emulators-v1 @@ -217,8 +223,10 @@ jobs: ccache -s shell: bash - - name: Metro Bundler Cache - uses: actions/cache@v4 + - name: Metro Bundler Cache Restore + uses: actions/cache/restore@v4 + id: metro-bundler-cache + continue-on-error: true with: path: ${{ steps.workflow-variables.outputs.metro-cache }} key: ${{ runner.os }}-macos-metro-v1-${{ github.run_id }} @@ -281,3 +289,37 @@ jobs: with: name: syslog-${{ matrix.iteration }} path: syslog.log + + - name: Yarn Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: .yarn/cache + key: ${{ steps.yarn-cache.outputs.cache-primary-key }} + + - name: Pods Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: tests/ios/Pods + key: ${{ steps.pods-cache.outputs.cache-primary-key }} + + - name: Firestore Emulator Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + # The firebase emulators are pure javascript and java, OS-independent + enableCrossOsArchive: true + path: ~/.cache/firebase/emulators + key: ${{ steps.firestore-emulator-cache.outputs.cache-primary-key }} + + - name: Metro Bundler Cache Save + uses: actions/cache/save@v4 + if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true + with: + path: ${{ steps.workflow-variables.outputs.metro-cache }} + key: ${{ steps.metro-bundler-cache.outputs.cache-primary-key }} diff --git a/.github/workflows/tests_jest.yml b/.github/workflows/tests_jest.yml index 4b84bce78c..caff239d3b 100644 --- a/.github/workflows/tests_jest.yml +++ b/.github/workflows/tests_jest.yml @@ -40,6 +40,7 @@ jobs: - uses: actions/cache/restore@v4 name: Yarn Cache Restore id: yarn-cache + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }} @@ -59,6 +60,7 @@ jobs: - uses: actions/cache/save@v4 name: Yarn Cache Save if: "${{ github.ref == 'refs/heads/main' }}" + continue-on-error: true with: path: .yarn/cache key: ${{ runner.os }}-yarn-v1-${{ hashFiles('yarn.lock') }}