bugsnag/bugsnag-dsym-upload

dSYM upload fails after update to v1.3.4

jbelkins opened this issue · 4 comments

After updating from version 1.3.2 to 1.3.4 of this plugin with no changes to my Fastfile, the upload_symbols_to_bugsnag step of my build process started failing.

Expected behavior

dSYM upload to Bugsnag succeeds

Observed behavior

Received the following error messages:

[12:21:44]: undefined method `each' for "/Users/distiller/project/ParkWhiz.app.dSYM.zip":String
[12:21:44]: You passed invalid parameters to 'upload_symbols_to_bugsnag'.
[12:21:44]: Check out the error below and available options by running `fastlane action upload_symbols_to_bugsnag`
...
[12:21:44]: Invalid default value for dsym_path, doesn't match verify_block

Steps to reproduce

Here is the relevant snippet of my Fastlane action:

gym(scheme: params[:scheme], export_method: "app-store", archive_path: archive_path(params))    
upload_symbols_to_bugsnag

Version

Worked with version 1.3.2. Failed with no changes to my Fastfile after update to version 1.3.4.

Additional information

I don't have time to investigate fully, but looking at your code, it appears that the issue is that the value of Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH] is not an array; that causes the verify_block to fail when upload_symbols_to_bugsnag starts.

See:
https://github.com/bugsnag/bugsnag-dsym-upload/blob/v1.3.2/tools/fastlane-plugin/lib/fastlane/plugin/bugsnag/actions/upload_symbols_to_bugsnag.rb#L113

I ended up fixing my build script by replacing

upload_symbols_to_bugsnag 

with

upload_symbols_to_bugsnag(dsym_path: [Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH]])

but, as you know, this should not be necessary if default params are formed correctly.

dwilt commented

@jbelkins Had the same issue and your solution worked. Thanks!

Yes, definitely there's an issue with the default value on the last update of the plugin

Jut got this after upgrading to v1.4.0 of the plugin.