Carthage Cache


Description of the issue


I have a workflow for iOS that runs every night and I use Carthage and Cache Pull / Push steps. And it seems that Carthage does not use the cache even if the Cache Pull step says “Downloading and extracting cache archive”, then the Carthage step says “cache available: false”.

When running the same workflow multiple time during the day the cache works but when it’s been a long time I did not run it it seems not to use the cache.

Maybe I am missing something?


Hy there! with what command are you using carthage?
the bootstrap command is caching really hard
also here is guide on caching directly


Yes I am using the bootstrap command:

Yes I am using the bootstrap command and already followed the guide about Carthage dependencies.

 - cache-pull@2.0.1: {}
 - carthage:
        - carthage_command: bootstrap
        - carthage_options: "--platform iOS"
 - cache-push@2.0.5:
        - cache_paths: |-
            ./Carthage -> ./Carthage/Cachefile


when you said you did not build for a long time, you mean by hand on the website, or the scheduled build as well? for the cache is deleted after a week if you don’t build :thinking:

also, Could you enable support user on the app’s settings tab, so I could check out some setups, and try a few test builds if it’s ok with you?


The scheduled build as well. Like after 2 days for example it does not use the Cache. And I think even 24 hours between the same builds.

I enabled support user :slight_smile:


Hy, sorry for the late reply, could you send me a link as well to the app? I can’t just reach it out of nowhere :upside_down_face:


Oh sorry :smile:

Here’s the link


as far as I see there is a 480mb cache for that workflow :thinking:
so it must be doing something, 47


Yes, I saw that but I don’t understand why the Carthage steps says there isnt any cache available


Could you try the 3.1.5 version of carthage?


Hmm it doesn’t work either, still the same

The documentation about caching says

The build on a non-default branch, to speed things up, can access (read-only) the cache of the primary branch, until a successful build is found on the new branch. Once a build on the new branch pushes a cache, new builds on that branch will get the cache of the branch. *Caches are stored and available for every branch separately.

So if I run a workflow on a new branch shouldn’t it get the cache from my default branch?


If there is available cache on that branch, then you should be able :thinking:
did you have a successful build on the main branch that did save cache?


Yes, I had a successful build, I set the default branch to a specific one, not the master

And I still have a build like the screenshot I posted


Hy there, I’m really sorry for the late reply😢

Could you enable debug mode for the cache push pull steps?
also add a script step before the carthage step to log out the /Users/vagrant/git/Carthage folder