From b77c1cc91e11acb5e39ef230f5830e44f8b43d54 Mon Sep 17 00:00:00 2001 From: cmd-ob Date: Wed, 7 Jan 2026 16:38:09 +0000 Subject: [PATCH 1/2] feat: Enable Yarn global cache and add CocoaPods specs caching for faster E2E setup --- .github/actions/setup-e2e-env/action.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/actions/setup-e2e-env/action.yml b/.github/actions/setup-e2e-env/action.yml index 7234751e..ba32b868 100644 --- a/.github/actions/setup-e2e-env/action.yml +++ b/.github/actions/setup-e2e-env/action.yml @@ -230,6 +230,7 @@ runs: command: yarn install --immutable env: NODE_OPTIONS: --max-old-space-size=4096 # Increase memory limit for Node.js due to large dependencies + YARN_ENABLE_GLOBAL_CACHE: 'true' # Enable Yarn's global cache for faster installs - name: Install Foundry shell: bash @@ -328,6 +329,16 @@ runs: run: sudo xcode-select -s "/Applications/Xcode_$XCODE_VERSION.app" shell: bash + # Cache CocoaPods specs + - name: Restore CocoaPods specs cache + if: ${{ inputs.platform == 'ios' }} + uses: actions/cache@v4 + with: + path: ~/.cocoapods/repos + key: ${{ runner.os }}-cocoapods-specs-${{ hashFiles('ios/Podfile.lock') }} + restore-keys: | + ${{ runner.os }}-cocoapods-specs- + # Install CocoaPods w/ cached bundler environment - name: Install CocoaPods via bundler if: ${{ inputs.platform == 'ios'}} From 7d4a733464eaafd5f5321201a7bbb526ff18bf50 Mon Sep 17 00:00:00 2001 From: cmd-ob Date: Thu, 8 Jan 2026 07:23:11 +0000 Subject: [PATCH 2/2] ci: update CocoaPods caching and installation process for iOS E2E setup --- .github/actions/setup-e2e-env/action.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/actions/setup-e2e-env/action.yml b/.github/actions/setup-e2e-env/action.yml index ba32b868..b71f8081 100644 --- a/.github/actions/setup-e2e-env/action.yml +++ b/.github/actions/setup-e2e-env/action.yml @@ -329,22 +329,26 @@ runs: run: sudo xcode-select -s "/Applications/Xcode_$XCODE_VERSION.app" shell: bash - # Cache CocoaPods specs - name: Restore CocoaPods specs cache if: ${{ inputs.platform == 'ios' }} + id: cocoapods-specs-cache uses: actions/cache@v4 with: path: ~/.cocoapods/repos key: ${{ runner.os }}-cocoapods-specs-${{ hashFiles('ios/Podfile.lock') }} restore-keys: | ${{ runner.os }}-cocoapods-specs- + continue-on-error: true # Don't fail if cache restoration has issues # Install CocoaPods w/ cached bundler environment - name: Install CocoaPods via bundler if: ${{ inputs.platform == 'ios'}} - run: bundle exec pod install --repo-update - working-directory: ios - shell: bash + uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2 + with: + timeout_minutes: 15 + max_attempts: 2 + retry_wait_seconds: 30 + command: cd ios && bundle exec pod install --repo-update - name: Install applesimutils if: ${{ inputs.platform == 'ios' }}