Xcode 11.2 pod install time

Forcing coco pods to 1.8.4 and all works fine if lie use Xcode 10.2. However if I update our osx_image to 11.2 we are timing out doing pod install. The exact error is:

Installing Pods with 'bundle exec pod install'

bundle exec pod install

Analyzing dependencies

Cloning spec repo `keenwawa` from `git@github.com:Keenwawa/Quinoa-PodSpecs.git`
Cloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs.git`

No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.

Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#Build-times-out-because-no-output-was-received

The only thing I have change is the version of Xcode.

2 Likes

Hello,

I have the exact same issue.
I upgraded my app from a build using the Xcode 10.3 vm to Xcode 11.2 vm and now my cococapods build job take between 12 and 17 minutes when it took 3 to 5 minutes with the Xcode 10.3 macos vm.
It seems that the cocoapods master repo is not cached anymore and no base version of it is included in the vm.

When reporting problems, please link to the affected build(s), or we don’t have enough information for diagnostics.

https://travis-ci.com/Spendesk/spendesk-ios/jobs/267569900 (private job)

As you can see in this job, during the pod install phase, there is a cloning step when before it was already cached in the image. This cloning adds 9 minutes to this job build time and isn’t cached between builds…

Cloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs.git`
  $ /usr/local/bin/git clone https://github.com/CocoaPods/Specs.git -- cocoapods
  Cloning into 'cocoapods'...
  Updating files: 100% (381447/381447), done.

AFAICS this is functionality from the cocoapods gem. So you need to work with its authors to resolve the problem of long running.

To workaround the output timeout problem, you can start a spinner (code that would print stuff at regular intervals) at the before_install: phase and stop it at after_install: phase – since this Travis’ functionality runs at the install: phase.

You don’t seem to understand the issue here.
The repository (https://github.com/CocoaPods/Specs.git) was cached in the travis mac os image before (image xcode 10.3) and so the cloning step was actually just updating the deltas not present in the image, which is quite quick <1 minute.
Now it seems this repository isn’t cached anymore in the travis mac os image (image xcode 11.2).
Which cause the step to redownload the repo entirely

I don’t see anything like a cocoapods cached checkout in the xcode10.3 image. So whatever was letting the clone go faster before, it’s not that. (Moreover, trying to git clone to an existing nonempty directory would result in an error.)

@scottandrew @Valpertui I think I figured out why it’s happening. We encountered the same issue of the master CocoaPods repo not being in the macOS images.

I think it has to do with the version of CocoaPods being included in the image (although I didn’t check). CocoaPods 1.7.2 launched the CDN as an alternative to the spec repo, so that might be the root cause.

Anyways, I simply switched from using
source 'https://github.com/CocoaPods/Specs.git'
to using
source 'https://cdn.cocoapods.org/'
as per the instructions in the link above, and the time went from 11 minutes to 1 minute (since we have some private spec repos that need to be fetched)

Hope that helps

1 Like