Cache:Push step doesn't seem to work?

Bitrise Build Issue Report template

Description of the issue

When it gets to the Cache:Push step, this is what the log looks like:

| - | cache-push@2.0.5 | 1.42 sec |

And it never finds the cache in the Cache:Pull step of the next build:

2019/02/12 20:40:52 Failed to get download url, error: Build cache not found. Probably cache not initialised yet (first cache push initialises the cache), nothing to worry about :wink:

WARN[20:40:52] Step (cache-pull@2.0.1) failed, but was marked as skippable

Environment:

Where did the issue happen?

Xcode 10.1.x stack

Which build Step causes the issue and which version of the step?
Cache:Push

This is what the workflow looks like in bitrise.yml:

steps:
    - git-clone@3.4.0: {}
    - cache-pull@2.0.1: {}
    - fastlane:
        title: ios check
        inputs:
        - lane: ios check
        - update_fastlane: 'false'
    - recursive-touch@0.9.0:
        inputs:
        - directory_path: "/tmp/fastlane_build"
    - cache-push@2.0.5: {}

I realize the recursive-touch probably does nothing here, as we never specified that path to add to the Cache:Pull step, but that shouldn’t matter in terms of the push-pull mechanism right?

Reproducibility

  • Does a “Rebuild” help? (You can trigger a rebuild from the Build’s page, by clicking the “Rebuild” button in the top right corner of a finished build) : NO
  • Does a rebuild without caches help? (You can remove the Cache:Pull and Cache:Push steps temporarily to not to use the cache, or you can delete all the caches on the Settings tab of the app. : NO
  • Does the issue happen sporadically, or every time? : every time
  • Does upgrading the build Step to the latest version help? : NO
  • When did the issue start? : Since we first added the step to our workflow

Local reproduction

Can it be reproduced on your own Mac/PC by following our local debug guide? Please follow at least the first section (“Testing with a full clean git clone”) to make sure to test the state of the code what bitrise.io will get when it does a git clone in the clean environment! If possible please note which sections you tried.

No, issue is specific to bitrise’s caching.

Build log

Please copy paste the build’s bitrise.io URL here (or if the issue happens somewhere else then the full logs), or if you can’t share the url / log here then send the url or full log through a private channel (e.g. email - https://www.bitrise.io/contact ), with a link to the related Discuss issue.
https://app.bitrise.io/build/589b6219572a5e9c

It means that step has been skipped. If you click on this line you’ll get the reason. Do you have this step in PR workflow perhaps?

Hi @aryo! @koral is right, also this step is meant to download cache, and if you haven’t built on your default branch and this branch recently this is the expected behaviour of this step. Please see: https://devcenter.bitrise.io/caching/about-caching/

Ah I see…

This is what it says:

WARN[20:20:24] The step’s (cache-push@2.0.5) Run-If expression evaluated to false - skipping
INFO[20:20:24] The Run-If expression was: .IsCI | and (not .IsPR)

It is a PR workflow… Does this mean that we can’t do cache pushes from PR workflows?

Edit: Asking this question because we only want to enable caching for PR builds

Hello there!

If you only want to cache for PR-s then simply change .IsCI to .IsPR in the yml file :upside_down_face:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.