fastlane: upload_symbols_to_crashlytics requires unzipped dSYM
The documentation suggests that a zipped dsym is an option, and indeed this is the default output from gym.
If I add this to my fastfile…
upload_symbols_to_crashlytics(dsym_path: “./App.dSYM.zip”)
I get the following error:
error: Invalid dSYM path (path does not end in “.dSYM”):
##### Complete output when running fastlane, including the stack trace and command used
Edited to remove repeated compile lines etc..
[18:09:22]: -------------------------------------------------
[18:09:22]: --- Step: Verifying required fastlane version ---
[18:09:22]: -------------------------------------------------
[18:09:22]: fastlane version valid
[18:09:22]: ------------------------------
[18:09:22]: --- Step: default_platform ---
[18:09:22]: ------------------------------
[18:09:22]: Driving the lane 'ios beta' 🚀
[18:09:22]: -------------------
[18:09:22]: --- Step: match ---
[18:09:22]: -------------------
+-----------------------+-------------------------------------------------+
| Summary for match 0.4.0 |
+-----------------------+-------------------------------------------------+
| app_identifier | com.autologic.assistmobile |
| type | adhoc |
| readonly | true |
| git_url | git@bitbucket.org:pitchlabs/vincertificates.git |
| username | ash.t@biffbangpow.com |
| keychain_name | login.keychain |
| team_id | 6BXRV5C384 |
| verbose | false |
| force | false |
| shallow_clone | false |
| force_for_new_devices | false |
| skip_docs | false |
+-----------------------+-------------------------------------------------+
[18:09:22]: Cloning remote git repo...
[18:09:24]: 🔓 Successfully decrypted certificates repo
[18:09:24]: Installing certificate...
[18:09:25]: Installing provisioning profile...
+----------------------+---------------------------------------+
| Installed Provisioning Profile |
+----------------------+---------------------------------------+
| App Identifier | com.autologic.assistmobile |
| Type | adhoc |
| UUID | 9997b226-4f39-4d9f-8e8f-8033ab322256 |
| Environment Variable | sigh_com.autologic.assistmobile_adhoc |
+----------------------+---------------------------------------+
[18:09:26]: All required keys, certificates and provisioning profiles are installed 🙌
[18:09:26]: 🔒 Successfully encrypted certificates repo
[18:09:26]: Setting Provisioning Profile type to 'ad-hoc'
[18:09:26]: -----------------------
[18:09:26]: --- Step: cocoapods ---
[18:09:26]: -----------------------
[18:09:26]: $ pod install
[18:09:26]: ▸ Updating local specs repositories
[18:09:31]: ▸ CocoaPods 1.0.0.beta.6 is available.
[18:09:31]: ▸ To update use: `sudo gem install cocoapods --pre`
[18:09:31]: ▸ [!] This is a test version we'd love you to try.
[18:09:31]: ▸ For more information see http://blog.cocoapods.org
[18:09:31]: ▸ and the CHANGELOG for this version http://git.io/BaH8pQ.
[18:09:31]: ▸ Analyzing dependencies
[18:09:34]: ▸ Downloading dependencies
Pods
[18:09:42]: ▸ Pod installation complete! There are 25 dependencies from the Podfile and 27 total pods installed.
[18:09:42]: -----------------
[18:09:42]: --- Step: gym ---
[18:09:42]: -----------------
[18:09:42]: xcrun xcodebuild -list -workspace 'VinSupport.xcworkspace'
+----------------------+------------------------+
| Summary for gym 1.6.2 |
+----------------------+------------------------+
| workspace | VinSupport.xcworkspace |
| scheme | AssistMobile |
| export_method | ad-hoc |
| silent | false |
| clean | true |
| output_directory | build |
| output_name | AssistMobile |
| destination | generic/platform=iOS |
| use_legacy_build_api | false |
| buildlog_path | ~/Library/Logs/gym |
+----------------------+------------------------+
[18:09:44]: $ set -o pipefail && xcodebuild -workspace 'VinSupport.xcworkspace' -scheme 'AssistMobile' -destination 'generic/platform=iOS' -archivePath '/Users/build/Library/Developer/Xcode/Archives/2016-03-24/AssistMobile 2016-03-24 18.09.44.xcarchive' clean archive | tee /Users/build/Library/Logs/gym/AssistMobile-AssistMobile.log | xcpretty
building...
[18:10:57]: ▸ Touching AssistMobile.app
[18:10:57]: ▸ Signing /Users/build/Library/Developer/Xcode/DerivedData/VinSupport-dwaukljyxkkqncbhmgisdakrmiae/Build/Intermediates/ArchiveIntermediates/AssistMobile/InstallationBuildProductsLocation/Applications/AssistMobile.app
[18:10:57]: ▸ Touching AssistMobile.app.dSYM
[18:10:58]: ▸ Archive Succeeded
[18:10:58]: Successfully stored the archive. You can find it in the Xcode Organizer.
[18:10:58]: $ /usr/bin/xcrun /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/gym-1.6.2/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/t7/rgzmw4bx36zcr25_wmc78bxr0000gn/T/gym20160324-75213-14bhcgk_config.plist' -archivePath '/Users/build/Library/Developer/Xcode/Archives/2016-03-24/AssistMobile 2016-03-24 18.09.44.xcarchive' -exportPath '/var/folders/t7/rgzmw4bx36zcr25_wmc78bxr0000gn/T/gym20160324-75213-paervg.gym_output'
[18:11:13]: Compressing 22 dSYM(s)
[18:11:13]: $ cd '/Users/build/Library/Developer/Xcode/Archives/2016-03-24/AssistMobile 2016-03-24 18.09.44.xcarchive/dSYMs' && zip -r '/Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip' *.dSYM
[18:11:16]: ▸ updating: AFNetworking.framework.dSYM/ (stored 0%)
[18:11:16]: ▸ updating: AFNetworking.framework.dSYM/Contents/ (stored 0%)
[18:11:16]: ▸ updating: AFNetworking.framework.dSYM/Contents/Info.plist (deflated 52%)
[18:11:16]: ▸ updating: AFNetworking.framework.dSYM/Contents/Resources/ (stored 0%)
[18:11:16]: ▸ updating: AFNetworking.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[18:11:16]: ▸ updating: AFNetworking.framework.dSYM/Contents/Resources/DWARF/AFNetworking (deflated 66%)
compressing....
[18:11:16]: ▸ updating: UIImage_Categories.framework.dSYM/ (stored 0%)
[18:11:16]: ▸ updating: UIImage_Categories.framework.dSYM/Contents/ (stored 0%)
[18:11:16]: ▸ updating: UIImage_Categories.framework.dSYM/Contents/Info.plist (deflated 52%)
[18:11:16]: ▸ updating: UIImage_Categories.framework.dSYM/Contents/Resources/ (stored 0%)
[18:11:16]: ▸ updating: UIImage_Categories.framework.dSYM/Contents/Resources/DWARF/ (stored 0%)
[18:11:16]: ▸ updating: UIImage_Categories.framework.dSYM/Contents/Resources/DWARF/UIImage_Categories (deflated 64%)
[18:11:16]: Successfully exported and compressed dSYM file
[18:11:16]: Successfully exported and signed the ipa file:
[18:11:16]: /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.ipa
[18:11:16]: -------------------------
[18:11:16]: --- Step: crashlytics ---
[18:11:16]: -------------------------
[18:11:16]: Uploading the build to Crashlytics Beta. Time for some ☕️.
[18:11:23]: Build successfully uploaded to Crashlytics Beta 🌷
[18:11:23]: -------------------------------------------
[18:11:23]: --- Step: upload_symbols_to_crashlytics ---
[18:11:23]: -------------------------------------------
[18:11:23]: $ /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/Pods/Fabric/upload-symbols -a bd415bb7c0471d0afe6f3e3e6e3a7e50a2638a22 -p ios /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip
[18:11:23]: ▸ error: Invalid dSYM path (path does not end in ".dSYM"): /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip
[18:11:23]: Variable Dump:
[18:11:23]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta", :SIGH_PROFILE_TYPE=>"ad-hoc", :IPA_OUTPUT_PATH=>"/Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.ipa", :DSYM_OUTPUT_PATH=>"/Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/build/Library/Developer/Xcode/Archives/2016-03-24/AssistMobile 2016-03-24 18.09.44.xcarchive", :GET_INFO_PLIST_VALUE_CUSTOM_VALUE=>nil}
[18:11:23]: Exit status of command '/Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/Pods/Fabric/upload-symbols -a bd415bb7c0471d0afe6f3e3e6e3a7e50a2638a22 -p ios /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip' was 7 instead of 0.
error: Invalid dSYM path (path does not end in ".dSYM"): /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip
+------+-------------------------------------+-------------+
| fastlane summary |
+------+-------------------------------------+-------------+
| Step | Action | Time (in s) |
+------+-------------------------------------+-------------+
| 1 | Verifying required fastlane version | 0 |
| 2 | default_platform | 0 |
| 3 | match | 4 |
| 4 | cocoapods | 16 |
| 5 | gym | 94 |
| 6 | crashlytics | 6 |
| 7 | upload_symbols_to_crashlytics | 0 |
+------+-------------------------------------+-------------+
[18:11:23]: fastlane finished with errors
-------------------------------------------------------------------------------------------
😨 An error occured. Please enable crash reports using `fastlane enable_crash_reporting`.
👍 This makes resolving issues much easier and helps improve fastlane.
🔒 The reports will be stored securely on getsentry.com.
🙊 More information about privacy: https://github.com/fastlane/fastlane/releases/tag/1.33.3
-------------------------------------------------------------------------------------------
/Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane_core-0.39.0/lib/fastlane_core/ui/interface.rb:120:in `crash!': [!] Exit status of command '/Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/Pods/Fabric/upload-symbols -a bd415bb7c0471d0afe6f3e3e6e3a7e50a2638a22 -p ios /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip' was 7 instead of 0. (FastlaneCore::Interface::FastlaneCrash)
error: Invalid dSYM path (path does not end in ".dSYM"): /Users/build/TeamCity/buildAgent/work/629cad12c28e13ae/build/AssistMobile.app.dSYM.zip
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane_core-0.39.0/lib/fastlane_core/ui/ui.rb:14:in `method_missing'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/helper/sh_helper.rb:44:in `sh_no_action'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/helper/sh_helper.rb:9:in `sh'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/actions/upload_symbols_to_crashlytics.rb:29:in `block in run'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/actions/upload_symbols_to_crashlytics.rb:23:in `each'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/actions/upload_symbols_to_crashlytics.rb:23:in `run'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:143:in `block (2 levels) in execute_action'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/actions/actions_helper.rb:35:in `execute_action'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:129:in `block in execute_action'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:128:in `chdir'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:128:in `execute_action'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/fast_file.rb:149:in `method_missing'
from Fastfile:104:in `block (2 levels) in parsing_binding'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/lane.rb:36:in `call'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/lane.rb:36:in `call'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:52:in `block in execute'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:46:in `chdir'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/runner.rb:46:in `execute'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/lane_manager.rb:46:in `cruise_lane'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/lib/fastlane/command_line_handler.rb:30:in `handle'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/bin/fastlane:38:in `block (2 levels) in run'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:178:in `call'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/command.rb:153:in `run'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/runner.rb:428:in `run_active_command'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane_core-0.39.0/lib/fastlane_core/ui/fastlane_runner.rb:23:in `run!'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/commander-4.3.5/lib/commander/delegates.rb:15:in `run!'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/bin/fastlane:156:in `run'
from /Users/build/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/fastlane-1.68.0/bin/fastlane:162:in `<top (required)>'
from /Users/build/.rbenv/versions/2.2.1/bin/fastlane:23:in `load'
from /Users/build/.rbenv/versions/2.2.1/bin/fastlane:23:in `<main>'
BuildServer:629cad12c28e13ae build$ cd ..
Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
fastlane_version "1.66.0"
default_platform :ios
platform :ios do
before_all do
# ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
end
desc "Installs FixCode which disables the \"Fix Issue\" button in Xcode"
lane :xcode do
install_xcode_plugin(
url: "https://github.com/fastlane/FixCode/releases/download/0.2.0/FixCode.xcplugin.zip"
)
end
desc "Runs all the tests"
lane :test do
cocoapods
scan
end
desc "Submit a new build to crashlytics"
lane :alpha do
match(app_identifier: "com.autologic.vinsupport.dev", type: "adhoc", readonly: true)
cocoapods
gym(
workspace: "VinSupport.xcworkspace",
scheme: "AssistMobileDev",
export_method: 'ad-hoc',
silent: false,
clean: true,
output_directory: "build",
output_name: "AssistMobileAlpha.ipa"
)
build_number = number_of_commits
add_git_tag(
grouping: 'fastlane-builds',
prefix: 'v',
build_number: build_number
)
push_git_tags
crashlytics(
api_token: ENV["CRASHLYTICS_API_TOKEN"],
build_secret: ENV["CRASHLYTICS_BUID_SECRET"],
groups: "internal"
)
upload_symbols_to_crashlytics(dsym_path: "./build/AssistMobile.app.dSYM.zip")
# notes: change_log,
# notifications: notify_testers
end
desc "Submit a new beta build to crashlytics"
lane :beta do
match(app_identifier: "com.autologic.assistmobile", type: "adhoc", readonly: true)
cocoapods
gym(
workspace: "VinSupport.xcworkspace",
scheme: "AssistMobile",
export_method: 'ad-hoc',
silent: false,
clean: true,
output_directory: "build",
output_name: "AssistMobile.ipa"
)
build_number = number_of_commits
add_git_tag(
grouping: 'fastlane-builds',
prefix: 'v',
build_number: build_number
)
push_git_tags
crashlytics(
api_token: ENV["CRASHLYTICS_API_TOKEN"],
build_secret: ENV["CRASHLYTICS_BUID_SECRET"],
groups: "internal"
)
upload_symbols_to_crashlytics(dsym_path: "./build/AssistMobile.app.dSYM.zip")
# notes: change_log,
# notifications: notify_testers
end
desc "Deploy a new version to the App Store, run only after beta lane success"
lane :appstore do
match(app_identifier: "com.autologic.assistmobile", type: "appstore", readonly: true)
sigh resign(ipa: "./build/AssistMobile.ipa",
signing_identity: "iPhone Distribution: Autologic Diagnostics Limited (6BXRV5C384)",
provisioning_profile: "match AppStore com.autologic.assistmobile"
)
end
# You can define as many lanes as you want
after_all do |lane|
# This block is called, only if the executed lane was successful
# slack(
# message: "Successfully deployed new App Update."
# )
end
error do |lane, exception|
# slack(
# message: exception.message,
# success: false
# )
end
end
# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/docs/Platforms.md
# All available actions: https://github.com/fastlane/fastlane/blob/master/docs/Actions.md
Environment
fastlane version (fastlane -v): Do you use bundler, rbenv or rvm?
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 15 (5 by maintainers)
Confirmed that the Fabric
upload-symbolsbinary doesn’t accept .zip files. The workaround for right now is to send only .dSYM files. Will update this ticket when .zip files are working!As a workaround, we are specifying the
archive_pathongymand then accessing the dSYM directly from the xcarchive, like so:Be sure to add
*.xcarchiveto your.gitignore.@drunknbass Thanks for following up. We are still working on this and will update on this thread 👍