Turning off a specific Pod? (Bitrise on iOS)

Bitrise Build Issue Report template

Description of the issue

On iOS when the command-line hits the (latest) Stripe Pod, it fails on a deprecated (< iOS 11) item from PassKit, specifically PKAddressField. This item is still included in the default pod for backwards compatibility with older iOS versions.

I’d like to get Bitrise (or xcodebuild?) to ignore it (or testing it, at least) during builds.

I’ve turned off code coverage for Stripe in the Xcode GUI. I’m also setting the Podfile to turn it off post_install as well.

Environment:

Where did the issue happen?

If on Bitrise.io:
Xcode 9.2.x, on macOS 10.12 (Sierra)

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

E.g.: Git Clone v3.6.0

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. :
    _Haven’t been granted access to this by the system architect yet :frowning: _

  • Does the issue happen sporadically, or every time? :
    Every time

  • Does upgrading the build Step to the latest version help? :
    NO
    I installed the bitrise command-line tool directly from the site just in case but it failed as well.

  • When did the issue start? :
    From our first commit on Bitrise

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.
Have tried:

1.Testing with a full clean git clone
2. Test with the Bitrise CLI
3. Additional notes for iOS projects

I’ve also tried compiling directly with just xcodebuild from a Terminal. From my local test builds, if I can convince it to ignore the Stripe pod it should compile. I think.

I’ve tried including the local xcconfig files from our Pods in the command-line build process and it appears to complete successfully. I suspect these not being included may be one factor in the repo not building successfully.

Local reproduction: Linux / Android (docker based) stack builds

Can it be reproduced by running the build locally, after doing a new git clone of the repository into the /tmp directory and running the build from there with the Bitrise CLI ( https://www.bitrise.io/cli )? If no, can it be reproduced with Docker (using the same docker images / environment we use on bitrise.io)? Related guide: http://devcenter.bitrise.io/docker/run-your-build-locally-in-docker/ .

N/A

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.

My branch’s latest build : https://www.bitrise.io/build/3c83dbd3bbfdd45f

If there is any other info I’m neglecting to mention here, please don’t hesitate to let me know.

Cheers
Mass

Just thought I would add some additional observations we’ve noticed today: We’ve turned off all code checking in our Podfile, as well as all code checking in our test suite via the Xcode GUI.

However we are still seeing the same errors where the Bitrise toolset is finding errors with Stripe, then refusing to proceed much further beyond that.

Any assistance you could provide would be greatly appreciated.

Hi there,
We are looking into it and will get back to you here as soon as possible!

Hi @massimosavinoatkater,

What happens if you clone the repo into a new directory and run pod install and then the Xcode Test from there?

The goal is to have everything automated, without any manual step like “open Xcode then turn this or that off” as that won’t work in a non interactive environment. In case of CocoaPods the usual solution is to do the related scripting in the Podfile directly.

To debug the issue I’d suggest you to:

  1. Do a clean git clone of the repo on your Mac, into a new/empty directory (to have the code in the state bitrise gets it)
  2. Ensure that you use the same Xcode version (Xcode 9.2 in this case)
  3. Then either run the related commands yourself (e.g. pod install) or even better use our CLI to run the config on your Mac. Related short guide: How to experiment with Bitrise configs locally, on your Mac/Linux

Please let us know how that goes! :slight_smile:

I think this is the main point / the thing that have to be automated: how do you “convince” CocoaPods/Xcode to ignore the Stripe pod?

Hi Viktor,
Apologies for the delay in replying – I’ll definitely try your steps suggested above, should be in the next day or two. I remember taking a few of these steps already to a certain extent but not having much success with them however.

Fingers crossed, at any rate!

Cheers
Mass

1 Like

Sure, let us know how it goes or if you’d have any questions! :wink:

This topic was automatically closed after 13 days. New replies are no longer allowed.