Hi,
I am using cocoapods as dependency manager of ios app.
I include all cocoapods artifacts into git, so I don’t run pod install on bitrise CI.
But Pods/ directory are cached somehow.
I’ve tried following things but no success.
envman add --append -k BITRISE_CACHE_EXCLUDE_PATHS -v ./ios/Pods/
envman add --append -k BITRISE_CACHE_EXCLUDE_PATHS -v ./ios/Pods
envman add --append -k BITRISE_CACHE_EXCLUDE_PATHS -v ios/Pods/
envman add --append -k BITRISE_CACHE_EXCLUDE_PATHS -v ios/Pods
- ignore_check_on_paths: ./ios/Pods/
- ignore_check_on_paths: ./ios/Pods
- ignore_check_on_paths: ios/Pods/
- ignore_check_on_paths: ios/Pods
What am I missing?
Thanks
Does your build include the Cocoapods Install step? If so, make sure that you set the step input “Disable built-in cache” to “true”.
@cathy.harmon
Thanks,
I include cocoapods artifacts into git, so
I don’t install cocoapods deps on bitrise.
Could you share the build log URL and enable support access? You can find the support access under the “Settings” tab on the app page.
Thanks
It looks like the workflow that has the cache-push is run from repo so I can’t actually see the settings. Could you provide this? Also, please enable debug mode for the step and provide the build log with that.
Thanks,
cathy
I already enabled debug mode for cache steps.
---
format_version: 5
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
workflows:
_cache-pull:
steps:
- cache-pull:
inputs:
- is_debug_mode: 'true'
- allow_fallback: 'false'
_cache-push:
steps:
- cache-push:
inputs:
- compress_archive: 'true'
- is_debug_mode: 'true'
- cache_paths: |-
./node_modules -> ./yarn.lock
./vendor/bundle -> ./Gemfile.lock
- bitrise_cache_exclude_paths: |-
./ios/Pods/
$HOME/.gradle/
_install-dependencies:
steps:
- script:
inputs:
- content: |-
#!/bin/bash
set -ex
# sync submodules
git submodule sync
git submodule update --init
# install ruby dependencies
gem install bundler:2.2.14
bundle install --path=vendor/bundle --clean
# install node project dependencies
yarn
npm link packages/some
npm link packages/others
stage-ios:
after_run:
- _cache-push
before_run:
- _cache-pull
- _install-dependencies
steps:
- fastlane@2.7.1:
title: Build ipa
inputs:
- lane: ios build build_number:$BITRISE_BUILD_NUMBER
- update_fastlane: 'false'
- fastlane@2.7.1:
title: Upload ipa to DeployGate
inputs:
- lane: ios deploy
- update_fastlane: 'false'
envs:
- ENV: dev
For the “Ignore Paths for change check”, you can specify paths not to include in the cache:
Paths prefixed with an ! will get ignored from the cache archive**.
If a path is located inside a specified Cache Path item and not prefixed with an !, it’ll be included in the cache archive, but won’t be checked for changes.
Cathy
@cathy.harmon
Thanks I will try it. But I have another question,
For the “Ignore Paths for change check”, you can specify paths not to include in the cache:
If ignore_check_on_paths were to specify paths not to include in the cache,
what bitrise_cache_exclude_paths is for?
I thought it were to specify paths not to include in the cache.
Thanks,
The last three “step inputs” listed are really for the step to use and cannot be changed. If you notice, they have “is_dont_change_value: true”. They are strictly for internal use by the step.
I didn’t know that. Thanks for your explanation.
And ignore_check_on_paths seems to work works fine, thanks for that too.
But why my ios/Pods got cached even thou I ain’t specify it in cache_paths?
@cathy.harmon
Is is a kind of default paths to be cached?
I believe so - that be default, it will be cached.
@cathy.harmon
What do you mean you “believe”?
I though that you are a guy in bitrise, aren’t you?
@cathy.harmon
Sorry to bother you.
Do you know the way to exclude all cache paths without those I specified?
I want remove all the cache paths specified by Bitrise.
Never want you to cache anything other than I request.
How can I achieve that?
Thanks,
So now you are gone.
Great company huh?
Hello there @mickamy 
Sorry for the delay, as you also have noticed, the forums are not the primary platform for solve specific ongoing issues, and our response times may vary from thread to thread.
If the issue needs escalation, I would advise contacting Bitrise Support via going to https://support.bitrise.io/, or writing us an email to support@bitrise.io 