Is downloading cocoapods from S3 still advantageous?

Hello everyone!

Since cocoapods 1.8 the pod tool uses the CDN instead of git to resolve and download pods. Locally I’ve already seen that this is a lot faster than it was in the past (no surprise there).

On CircleCI I am currently still using the small helper script that loads a clone of the repo from S3 (see here ). That had also been a great help in the past, but I am wondering whether it’s still useful now? Unpacking that repo takes quite a lot of time, so perhaps skipping it and relying on the CDN alone is better?

I’m pretty sure that’s the case, but wanted to know either some sort of official statement/advice or experience reports by others.

Thanks in advance!

  • Gero
2 Likes

Hi Gero,

This is news to me, I have not been keeping too close an eye on Cocoapods development. This does sound like an improvement.

Our helper script downloads a nightly snapshot of the Cocoapods repo and stores it as a tarball on S3. When we download it into the build, the download is very fast (it takes seconds) and then extracting the tarball takes the vast majority of the time – extracting 200,000 small files from a tarball takes a long time, even locally for me a very high-end 2018 MBP.

I’ll make a JIRA for our team to look into the new release of Cocoapods and make whatever changes are necessary on our end to support/document/advertise the new distribution mechanism.

Marc

2 Likes

Logged as CIRCLE-21789

Hi Marc,

I know, you can actually see that it just takes the time to extracts the data, the download is very fast. Even with that unpacking time it was obviously a great help already, I really appreciated (and still appreciate) the idea. I just wanted to give a heads-up about the CDN update. I would have tried it myself on the side of a feature, but atm it’s not a good time for me to do so because of some inter-project-related stuff. Besides, I obviously can’t update your docs, so hence the ping. :slight_smile:

Thanks for putting this on your radar!

Hey Gero,

Just wanted to provide an update on this. We have made some changes to our docs and now suggest the use of 1.8 with the CDN. In our testing it does appear faster and also less cumbersome to use!

Check out the new best practises documentation here: https://circleci.com/docs/2.0/testing-ios/#best-practices

If you have any feedback for us, please do let us know!

Thanks a lot! I am at the moment unfortunately busy with another (non-iOS) project, but I will change my pipeline eventually and let you know should I encounter any problems.

Thank you for looking into this and even updating your best practices/recommendations! :slight_smile:

  • Gero
1 Like

Hey, just a short update: This change is awesome. While getting the specs repo in the past took over 4 minutes using the CDN now takes about one and a half. And if you cache the pods (or check them into version control, which I myself cannot do for various reasons) it’s even faster (less than half a minute).

Thanks for the great work, CircleCI team! :slight_smile:

Hey Gero, glad to hear you are seeing an improvement in the job speed!