Skip to content

Conversation

@cmd-ob
Copy link
Contributor

@cmd-ob cmd-ob commented Jan 9, 2026

  • Replace ~/.cocoapods/repos cache with ios/Pods cache
  • Prevents HTTP2 framing errors caused by stale trunk specs reconciliation with CDN

Problem

The current caching of ~/.cocoapods/repos (specs index) can become stale. When pod install --repo-update attempts to reconcile stale cached specs with fresh CDN data, it can fail with:

[!] CDN: trunk URL couldn't be downloaded: https://cdn.cocoapods.org/Specs/a/b/d/Sentry/8.58.0/Sentry.podspec.json Response: Error in the HTTP2 framing layer

This has been causing intermittent iOS E2E setup failures across multiple PRs.

Solution

  • Remove caching of ~/.cocoapods/repos (specs index is small, downloads quickly)
  • Add caching of ios/Pods

Note

Adds an iOS-only step in setup-e2e-env to clear CocoaPods trunk before installing pods.

  • New step: pod repo remove trunk || true to prevent stale spec issues prior to bundle exec pod install --repo-update
  • Change is limited to .github/actions/setup-e2e-env/action.yml and only runs when platform == 'ios'

Written by Cursor Bugbot for commit e613b9b. This will update automatically on new commits. Configure here.

restore-keys: |
${{ runner.os }}-cocoapods-specs-
path: ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the key name change and missing restore-keys intentional here?
Also, have we considered removing the trunk with pod repo remove trunk?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes I am doing this as a safety measure for now - #202 (comment)

@cmd-ob cmd-ob merged commit 9926872 into main Jan 9, 2026
21 checks passed
@cmd-ob cmd-ob deleted the fix/cocoapods-cache-stale-trunk-specs branch January 9, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants