Attaching a ObjectMapper to Podfile breaks build

Bitrise Build Issue Report template

Description of the issue

When building our app with the pod ObjectMapper after installing cocoapods the podfile.lock is changed even though locally no changes happen.
The has is surrounded by '' for some reason

Environment:

On Bitrise.io using the latest version of Xcode 8.3

After installing cocoapods the podfile has changes even though locally all changes have been committed.
This is using the latest cocoapods step.

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
  • If you have multiple different build configurations (workflows), does the issue affect all/more than one? : NO the test build configuration works.
  • Does upgrading the build Step to the latest version help? : NO
  • When did the issue start? : after adding objectmapper to the podfile

Other stacks

_Can it be reproduced by running the build locally with our CLI ( https://www.bitrise.io/cli ), 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 )?_NO

Build log

e[34;1mFastlane version:e[0m
e[32;1m$ bundle “exec” “fastlane” "–version"e[0m
fastlane installation at path:
/usr/local/lib/ruby/gems/2.4.0/gems/fastlane-2.26.1/bin/fastlane

fastlane 2.26.1

e[34;1mRun Fastlanee[0m
e[32;1m$ bundle “exec” “fastlane” "bitrise_production_deploy"e[0m
22:05:33: e[32mDriving the lane ‘bitrise_production_deploy’ :rocket:e[0m
22:05:33: e[32m----------------------------------------------e[0m
22:05:33: e[32m— Step: Switch to setup_new_version lane —e[0m
22:05:33: e[32m----------------------------------------------e[0m
22:05:33: Cruising over to lane ‘setup_new_version’ :oncoming_taxi:
22:05:33: e[32m------------------------------------e[0m
22:05:33: e[32m— Step: git status --porcelain —e[0m
22:05:33: e[32m------------------------------------e[0m
22:05:33: e[4me[36m$ git status --porcelaine[0me[0m
22:05:33: ▸ e[35mM Podfile.locke[0m
22:05:33: M Podfile.lock

22:05:33: e[32m— Step: git diff —e[0m
22:05:33: e[32m----------------------e[0m
22:05:33: e[4me[36m$ git diffe[0me[0m
22:05:33: ▸ e[35mdiff --git a/Podfile.lock b/Podfile.locke[0m
22:05:33: ▸ e[35mindex bfbd8fdb…68805247 100644e[0m
22:05:33: ▸ e[35m— a/Podfile.locke[0m
22:05:33: ▸ e[35m+++ b/Podfile.locke[0m
22:05:33: ▸ e[35m@@ -232,7 +232,7 @@ SPEC CHECKSUMS:e[0m
22:05:33: ▸ e[35mMTMigration: 725315e6469c8fd7d13966887f59e65eb8aecb2ee[0m
22:05:33: ▸ e[35mNimble: 1527fd1bd2b4cf0636251a36bc8ab37e81da8347e[0m
22:05:33: ▸ e[35mNJKWebViewProgress: 470ad3e0e59792658abcfb807398996683839b86e[0m
22:05:33: ▸ e[35m- ObjectMapper: 042708195cc46c20871cbcbec0453826398273fde[0m
22:05:33: ▸ e[35m+ ObjectMapper: '042708195cc46c20871cbcbec0453826398273fd’e[0m
22:05:33: ▸ e[35mQuick: 8024e4a47e6cc03a9d5245ef0948264fc6d27cffe[0m
22:05:33: ▸ e[35mReachability: dd9aa4fb6667b9f787690a74f53cb7634ce99893e[0m
22:05:33: ▸ e[35mRepro: fae3895d081469d0b27f945506997b48c28e3bc3e[0m
22:05:33: diff --git a/Podfile.lock b/Podfile.lock
index bfbd8fdb…68805247 100644
— a/Podfile.lock
+++ b/Podfile.lock
@@ -232,7 +232,7 @@ SPEC CHECKSUMS:
MTMigration: 725315e6469c8fd7d13966887f59e65eb8aecb2e
Nimble: 1527fd1bd2b4cf0636251a36bc8ab37e81da8347
NJKWebViewProgress: 470ad3e0e59792658abcfb807398996683839b86

  • ObjectMapper: 042708195cc46c20871cbcbec0453826398273fd
  • ObjectMapper: '042708195cc46c20871cbcbec0453826398273fd’
    Quick: 8024e4a47e6cc03a9d5245ef0948264fc6d27cff
    Reachability: dd9aa4fb6667b9f787690a74f53cb7634ce99893
    Repro: fae3895d081469d0b27f945506997b48c28e3bc3

22:05:33: e[32m— Step: ensure_git_status_clean —e[0m
22:05:33: e[32m-------------------------------------e[0m
22:05:33: e[32m-------------------e[0m
22:05:33: e[32m— Step: slack —e[0m
22:05:33: e[32m-------------------e[0m
22:05:33: e[32mSuccessfully sent Slack notificatione[0m
±--------------------±--------------------------+
| e[33mLane Contexte[0m |
±--------------------±--------------------------+
| PLATFORM_NAME | |
| LANE_NAME | bitrise_production_deploy |
| build_multiple_apps | true |
±--------------------±--------------------------+
22:05:33: e[31mGit repository is dirty! Please ensure the repo is in a clean state by committing/stashing/discarding all changes first.e[0m

±-----±---------------------------------±------------+
| e[32mfastlane summarye[0m |
±-----±---------------------------------±------------+
| Step | Action | Time (in s) |
±-----±---------------------------------±------------+
| 1 | Switch to setup_new_version lane | 0 |
| 2 | git status --porcelain | 0 |
| 3 | git diff | 0 |
| :boom: | e[31mensure_git_status_cleane[0m | 0 |
| 5 | slack | 0 |
±-----±---------------------------------±------------+

22:05:33: e[31mfastlane finished with errorse[0m
e[31m
[!] Git repository is dirty! Please ensure the repo is in a clean state by committing/stashing/discarding all changes first.e[0m

e[32m#######################################################################e[0m
e[32m# fastlane 2.29.0 is available. You are on 2.26.1.e[0m
e[32m# It is recommended to use the latest version.e[0m
e[32m# Please update using bundle update fastlane.e[0m
e[32m#######################################################################e[0m

e[32m2.29.0 New metrics collection end point and other improvementse[0m

  • Change fastlane metrics collection endpoint (#9084) via Andrea Falcone
  • [deliver] Improve setup detection (#9070) via Felix Krause
  • [deliver] Enable automatic scaling when user doesn’t provide all screenshots (#9072) via Felix Krause
  • [match] Add new clone_branch_directly option to clone faster (#9102) via Felix Krause
  • [match] Fix not respecting git user options when nuking or changing password (#9120) via Felix Krause
  • [pilot] Respect wait_processing_interval config option (#9111) via Mark Pirri
  • [supply] Allow specifying root url for androidpublisher api (#9075) via Christian Legnitto

e[32m2.28.9 Bug fixese[0m

  • [spaceship] Fix errors that are reported as crashes because of incorrect use of ‘UI’ class (#9089) via Felix Krause
  • [pilot] Fixed error reported by iTunesConnect when submitting builds without a changelog, app description, or feedback email (#9085) via Mark Pirri
  • [supply] Better error message when not able to download screenshots and feature graphics (#9083) via Nathan Broadbent
  • [ensure_git_status_clean] Improved action output (#9077) via Anton
  • [deliver] Add message when updating an app’s age rating (#9071) via Felix Krause
  • [artifactory] Make available as shared lane values the download URL and size after successful upload (#9079) via Tom Meier
  • [fastlane_core] Show message when the password is fetched from an environment variable (#9069) via Felix Krause
  • [deliver] Consider only whitelisted folders when detecting language (#9057) via Arvind Menon

e[32m2.28.8 Improvementse[0m

  • [pilot] Fix issues with setting beta_app_feedback_email and beta_app_description (#9055) via Mark Pirri
  • [HockeyApp] Improve documentation around download status option (#9053) via Daniel Schmidt
  • [pilot] Fixed issue with fetching large (> 40) lists of testers (#9054) via David Ohayon
  • Improve error handling when trying to access schemes that may not be shared (#9037) via Felix Krause
  • [gym] Add analyze_build_time option (#9034) via Rishabh Tayal
  • [spaceship] Rework how review objects are fetched (#8701) via Helmut Januschka
  • Remove mention of macOS from README (#9032) via Felix Krause
  • [spaceship] Fix issues with modifying IAPs (#8367) via Helmut Januschka
  • [download_dsyms] Allow use of tvOS platform (#8588) via Seremet Mihai
  • [spaceship] Clean up stubbing in unit tests (#9027) via Fumiya Nakamura
  • [spaceship] Add support for detecting apps removed from sale (#9028) via Fumiya Nakamura
  • Replace outdated Guide.md with links to new docs page (#9030) via Felix Krause
  • Fix not disabling colors properly when using the FASTLANE_DISABLE_COLORS environment variable (#9016) via Felix Krause

e[32mTo see all new releases, open https://github.com/fastlane/fastlane/releasese[0m

e[32mPlease update using bundle update fastlanee[0m

e[31;1mFastlane command: (bundle “exec” “fastlane” “bitrise_production_deploy”) failede[0m
e[31;1mIf you want to send an issue report to fastlane (https://github.com/fastlane/fastlane/issues/new), you can find the output of fastlane env int he following log file:e[0m

e[34;1m/Users/vagrant/deploy/fastlane_env.loge[0m

e[31;1mCommand failed, error: exit status 1e[0m
| |
±–±--------------------------------------------------------------±---------+
| e[31;1mxe[0m | e[31;1mfastlane@2.3.7 (exit code: 1)e[0m | 23 sec |
±–±--------------------------------------------------------------±---------+
| Update available: 2.3.7 -> 2.3.9 |
| Issue tracker: https://github.com/bitrise-io/steps-fastlane/issues |
| Source: https://github.com/bitrise-io/steps-fastlane |
±–±--------------------------------------------------------------±---------+

±-----------------------------------------------------------------------------+
| (5) deploy-to-bitrise-io@1.2.9 |
±-----------------------------------------------------------------------------+
| id: deploy-to-bitrise-io |
| version: 1.2.9 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: bash |
| time: 2017-05-10T22:05:39-07:00 |
±-----------------------------------------------------------------------------+
| |

=> Preparing step …

Fetching gem metadata from https://rubygems.org/.
Fetching version metadata from https://rubygems.org/.
Using plist 3.2.0
Using bundler 1.14.6
Installing rubyzip 1.1.7
Installing ipa_analyzer 0.1.0
Bundle complete! 3 Gemfile dependencies, 4 gems now installed.
Gems in the group test were not installed.
Use bundle show [gemname] to see where a bundled gem is installed.

=> Running the step …

========== Configs ==========

  • Build URL: https://www.bitrise.io/build/66cc8fc4de13c23e
  • Build’s API Token: B_6k38Yi6jNQmCkofXXQSw
  • is_compress: false
  • deploy_path: /Users/vagrant/deploy
  • notify_user_groups: everyone
  • notify_email_list:
  • is_enable_public_page: false

Uploading the content of the Deploy directory separately

======= List of files =======

  • /Users/vagrant/deploy/fastlane_env.log
    =============================

Deploying file: /Users/vagrant/deploy/fastlane_env.log

–> Create a Build Artifact on Bitrise
(i) File Size: 0.01 MB
–> Upload the file
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed

0 0 0 0 0 0 0 0 --:–:-- --:–:-- --:–:-- 0
0 8349 0 0 0 0 0 0 --:–:-- --:–:-- --:–:-- 0
100 8349 0 0 100 8349 0 50190 --:–:-- --:–:-- --:–:-- 49994
–> Finish the Artifact creation

Success

(i) You can find the Artifact on Bitrise, on the Build’s page
| |
±–±--------------------------------------------------------------±---------+
| e[32;1m✓e[0m | e[32;1mdeploy-to-bitrise-io@1.2.9e[0m | 4.12 sec |
±–±--------------------------------------------------------------±---------+

±-----------------------------------------------------------------------------+
| (6) cache-push@0.9.3 |
±-----------------------------------------------------------------------------+
| id: cache-push |
| version: 0.9.3 |
| collection: https://github.com/bitrise-io/bitrise-steplib.git |
| toolkit: bash |
| time: 2017-05-10T22:05:43-07:00 |
±-----------------------------------------------------------------------------+
| |
e[33mWARNe[0m[22:05:43] A previous step failed, and this step (cache-push@0.9.3) was not marked as IsAlwaysRun, skipped
| |
±–±--------------------------------------------------------------±---------+
| e[34;1m-e[0m | e[34;1mcache-push@0.9.3e[0m | 1.20 sec |
±–±--------------------------------------------------------------±---------+
| Update available: 0.9.3 -> 0.9.4 |
±–±--------------------------------------------------------------±---------+

±-----------------------------------------------------------------------------+
| bitrise summary |
±–±--------------------------------------------------------------±---------+
| | title | time (s) |
±–±--------------------------------------------------------------±---------+
| e[32;1m✓e[0m | e[32;1mactivate-ssh-key@3.1.1e[0m | 3.51 sec |
±–±--------------------------------------------------------------±---------+
| e[32;1m✓e[0m | e[32;1mgit-clonee[0m | 19 sec |
±–±--------------------------------------------------------------±---------+
| e[33;1m!e[0m | e[33;1mcache-pull@0.9.1 (exit code: 1)e[0m | 3.50 sec |
±–±--------------------------------------------------------------±---------+
| Update available: 0.9.1 -> 0.9.2 |
| Issue tracker: https://github.com/bitrise-steplib/steps-cache-pull/issues |
| Source: https://github.com/bitrise-steplib/steps-cache-pull.git |
±–±--------------------------------------------------------------±---------+
| e[32;1m✓e[0m | e[32;1mcocoapods-install@1.6.1e[0m | 60 sec |
±–±--------------------------------------------------------------±---------+
| e[31;1mxe[0m | e[31;1mfastlane@2.3.7 (exit code: 1)e[0m | 23 sec |
±–±--------------------------------------------------------------±---------+
| Update available: 2.3.7 -> 2.3.9 |
| Issue tracker: https://github.com/bitrise-io/steps-fastlane/issues |
| Source: https://github.com/bitrise-io/steps-fastlane |
±–±--------------------------------------------------------------±---------+
| e[32;1m✓e[0m | e[32;1mdeploy-to-bitrise-io@1.2.9e[0m | 4.12 sec |
±–±--------------------------------------------------------------±---------+
| e[34;1m-e[0m | e[34;1mcache-push@0.9.3e[0m | 1.20 sec |
±–±--------------------------------------------------------------±---------+
| Update available: 0.9.3 -> 0.9.4 |
±–±--------------------------------------------------------------±---------+
| Total runtime: 113 sec |
±-----------------------------------------------------------------------------+

e[34mINFOe[0m[22:05:43]
e[34mINFOe[0m[22:05:43] Submitting anonymized usage information…
e[34mINFOe[0m[22:05:43] For more information visit:
e[34mINFOe[0m[22:05:43] https://github.com/bitrise-core/bitrise-plugins-analytics/blob/master/README.md
Command failed: exit status 1

1 Like

I think that’s a CocoaPods issue, related to the Ruby version. With some Ruby versions CP normalize things, while with others it does not.

Related CocoaPods issue: Inconsistent Podfile.lock files between Ruby versions · Issue #3452 · CocoaPods/CocoaPods · GitHub

1 Like

Thanks Viktor!

We were able to get it working again.

1 Like

Glad to hear that, thanks for reporting @adam_henry! :slight_smile:

Just curious, what was the fix? Might help others in the future, if you have the time.

Sorry about that I should have posted the fix with my reply.

This comment is what we ended up doing.
https://github.com/CocoaPods/CocoaPods/issues/5585#issuecomment-282507639

The problem appeared when we upgraded from 1.0.1 to 1.2.1(among other things)

1 Like

Perfect, thank you very much @adam_henry! :slight_smile: