Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dealing with updated pod in BuddyBuild #149

Open
onmyway133 opened this issue Feb 1, 2018 · 0 comments
Open

Dealing with updated pod in BuddyBuild #149

onmyway133 opened this issue Feb 1, 2018 · 0 comments
Labels
ci continuous integration cocoapods

Comments

@onmyway133
Copy link
Owner

We're using BuddyBuild as our CI. Today one of our dependencies gets a sweat update https://github.com/hyperoslo/BarcodeScanner/releases/tag/4.1.1. So we pod update BarcodeScanner in one of our projects that depends on it. All is fine when running locally. So I make a Pull Request and wait for the build to kick off in BuddyBuild.

For some reason, BuddyBuild can't pick up the right version of Cocoapods, hence can't update the new pods.

[!] The version of CocoaPods used to generate the lockfile (1.3.1) is higher than the version of the current executable (1.1.1). Incompatibility issues may arise.

=== CocoaPods ===
104
    Switching CocoaPods version to 1.1.1
105
    Using Command Line: gem cleanup "cocoapods"
106
    Using Command Line: gem uninstall "cocoapods" --all --executables --force
107
    Using Command Line: gem install "cocoapods" --no-rdoc --no-ri --version "1.1.1"
108
    Unpacking caches - cocoapods pod specs
109
    Using Command Line: pod install --no-repo-update
110
    Analyzing dependencies
111
    Pre-downloading: `Tailor` from `https://github.com/zenangst/Tailor`, tag `3.0.0`
112
    [!] Unable to satisfy the following requirements:
113
    - `BarcodeScanner (~> 4.0)` required by `Podfile`
114
    - `BarcodeScanner (~> 4.0)` required by `Podfile`
115
    - `BarcodeScanner (~> 4.0)` required by `Podfile`
116
    - `BarcodeScanner (~> 4.0)` required by `Podfile`
117
    - `BarcodeScanner (~> 4.0)` required by `Podfile`
118
    - `BarcodeScanner (~> 4.0)` required by `Podfile`
119
    - `BarcodeScanner (= 4.1.1)` required by `Podfile.lock`
120
    None of your spec sources contain a spec satisfying the dependencies: `BarcodeScanner (~> 4.0), BarcodeScanner (= 4.1.1)`.
121
    You have either:
122
     * out-of-date source repos which you can update with `pod repo update`.
123
     * mistyped the name or version.
124
     * not added the source repo that hosts the Podspec to your Podfile.
125
    Note: as of CocoaPods 1.0, `pod repo update` does not happen on `pod install` by default.

Trying script

So I thought I could run some custom script to force BuddyBuild to update the pods. Start with https://docs.buddybuild.com/builds/custom_build_steps.html

I commit the file buddybuild_postclone.sh with

#!/usr/bin/env bash
 
pod repo update
pod update BarcodeScanner

Didn't work. I then update the script with

#!/usr/bin/env bash
 
pod repo remove master
pod setup
pod install

Didn't work. Taking a closer look at the log. I see

Switching CocoaPods version to 1.1.1

It seems BuddyBuild is using cocoapods 1.1.1. Mine is 1.4.0.

Specifying cocoapods version

So I need to specify the correct cocoapods version to make sure I and BuddyBuild are on the same page

gem install bundler
bundler init

And in my Gemfile

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "cocoapods", '~> 1.0'

Then run

bundler install

And check Gemfile.lock to make sure everything is OK

Finally

Commit the changes, and now BuddyBuild is picking up the right cocoapods version, hence using the new pods



=== CocoaPods ===
45
    Switching CocoaPods version to 1.4.0
46
    Using Command Line: gem cleanup "cocoapods"
47
    Using Command Line: gem uninstall "cocoapods" --all --executables --force
48
    Using Command Line: gem install "cocoapods" --no-rdoc --no-ri --version "1.4.0"
49
    Unpacking caches - cocoapods pod specs
50
    Using Command Line: pod install --no-repo-update
@onmyway133 onmyway133 added ci continuous integration cocoapods labels Nov 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci continuous integration cocoapods
Projects
None yet
Development

No branches or pull requests

1 participant