firebase / fastlane-plugin-firebase_app_distribution

fastlane plugin for Firebase App Distribution. https://firebase.google.com/docs/app-distribution
MIT License
167 stars 27 forks source link

SendTimeoutError when upgrading to 0.7.0 #330

Closed felixlix45 closed 1 year ago

felixlix45 commented 1 year ago

Issue Description

The newest 0.7.0 is using deprecated google-api-client and makes the firebase_app_distribution plugin not working

Configuration
  app: "appId",
 firebase_cli_token: ENV['FIREBASE_TOKEN'],
 android_artifact_type: "APK",
 android_artifact_path: "app/build/outputs/apk/production/debug/app-production-debug.apk",
 release_notes_file: options[:releaseNotesFile],
 testers: "testers",
 debug: true
Complete verbose output
[07:26:13]: Installing Ruby gem 'fastlane-plugin-firebase_app_distribution'...
*******************************************************************************
The google-api-client gem is deprecated and will likely not be updated further.
Instead, please install the gem corresponding to the specific service to use.
For example, to use the Google Drive V3 client, install google-apis-drive_v3.
For more information, see the FAQ in the OVERVIEW.md file or the YARD docs.
*******************************************************************************
[07:26:32]: Successfully installed 'fastlane-plugin-firebase_app_distribution'
...
[07:26:32]: Warning: Debug logging enabled. Output may include sensitive information.
[07:26:32]: 🔐 Authenticating with --firebase_cli_token parameter
[07:26:32]: ⌛ Uploading the APK.
D, [2023-08-02T07:26:32.661476 #14] DEBUG -- : Sending HTTP post https://firebaseappdistribution.googleapis.com/upload/v1/projects/XXXX/apps/XXXXX/releases:upload?
D, [2023-08-02T07:42:16.520[91](https://gitlab.com/XXXXX/XXXX/mobile/android/XXXX/-/jobs/XXXX#XXX)3 #14] DEBUG -- : Caught error execution expired
D, [2023-08-02T07:42:16.521087 #14] DEBUG -- : Error - #<HTTPClient::SendTimeoutError: execution expired>
+------------------+----------------------------------------------+
|                          Lane Context                           |
+------------------+----------------------------------------------+
| DEFAULT_PLATFORM | android                                      |
| PLATFORM_NAME    | android                                      |
| LANE_NAME        | android deploy_development_debug_to_firebase |
+------------------+----------------------------------------------+
[07:42:16]: execution expired
+------+---------------------------+-------------+
|                fastlane summary                |
+------+---------------------------+-------------+
| Step | Action                    | Time (in s) |
+------+---------------------------+-------------+
| 1    | default_platform          | 0           |
| 💥   | firebase_app_distribution | [94](https://gitlab.com/XXXX/XXXX/mobile/android/XXXXXX/-/jobs/XXXX#XXXXX)4         |
+------+---------------------------+-------------+
[07:42:16]: fastlane finished with errors

For the error stacktrace:

/usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `[]=': \e[31m[!] execution expired\e[0m (Google::Apis::TransmissionError)
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `do_write'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:339:in `block in write'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `each'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `inject'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `write'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/ssl_socket.rb:80:in `<<'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:510:in `dump'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:962:in `dump'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:517:in `block in query'
    from /usr/lib/ruby/2.7.0/timeout.rb:105:in `timeout'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:515:in `query'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:177:in `query'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1242:in `do_get_block'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1104:in `follow_redirect'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:854:in `request'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:313:in `execute_once'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:126:in `block (2 levels) in do_retry'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:123:in `block in do_retry'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:113:in `do_retry'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:104:in `execute'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/base_service.rb:418:in `execute_or_queue_command'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/base_service.rb:265:in `http'
    from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:256:in `upload_binary'
    from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:49:in `run'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `chdir'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
    from Fastfile:130:in `block (2 levels) in parsing_binding'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane.rb:33:in `call'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `chdir'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `execute'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:[354](https://gitlab.com/XXXXX/XXXXXX/mobile/android/XXXXX/-/jobs/XXXXXX#XXXXX):in `run'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/bin/fastlane:23:in `<top (required)>'
    from /usr/local/bin/fastlane:23:in `load'
    from /usr/local/bin/fastlane:23:in `<main>'
/usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `[]=': execution expired (HTTPClient::SendTimeoutError)
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `do_write'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:339:in `block in write'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `each'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `inject'
    from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `write'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/ssl_socket.rb:80:in `<<'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:510:in `dump'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:962:in `dump'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:517:in `block in query'
    from /usr/lib/ruby/2.7.0/timeout.rb:105:in `timeout'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:515:in `query'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:177:in `query'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1242:in `do_get_block'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1104:in `follow_redirect'
    from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:854:in `request'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:313:in `execute_once'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:126:in `block (2 levels) in do_retry'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:123:in `block in do_retry'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times'
    from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:113:in `do_retry'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/http_command.rb:104:in `execute'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/base_service.rb:418:in `execute_or_queue_command'
    from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.0/lib/google/apis/core/base_service.rb:265:in `http'
    from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:256:in `upload_binary'
    from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:49:in `run'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `chdir'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
    from Fastfile:130:in `block (2 levels) in parsing_binding'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane.rb:33:in `call'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `chdir'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `execute'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
    from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:354:in `run'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
    from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/bin/fastlane:23:in `<top (required)>'
    from /usr/local/bin/fastlane:23:in `load'
    from /usr/local/bin/fastlane:23:in `<main>'
Environment

0.7.0

Library Version
fastlane [2.212.2]
fastlane-plugin-firebase_app_distribution [0.7.0]
donirn commented 1 year ago

This, happened to our team as well.

Currently, forcing to go back to previous version 0.6.1 is our workaround.

lfkellogg commented 1 year ago

@felixlix45 Thanks for the report and sorry you're experiencing this issue.

Just checking, do these logs suggest the HTTP post request was initiated at 7:26:32 and finished at 7:42:16? Or is the log timestamps off because it's running it github actions or some other reason. I'm confused because then it says the action took 94 seconds to run. Trying to get a sense of the timing here since I suspect the default upload timeout was shortened with this latest version.

@donirn if you could share logs with debug: true the firebase_app_distribution action (with any sensitive info removed) that would be helpful as well, thanks.

felixlix45 commented 1 year ago

Hi @lfkellogg, yeah I do also thinks that the timestamps is for the HTTP Post. Where my GitLab CI is stuck at 'Uploading APK' for a moment (~17 minute) then it just failed.

I don't really know why it reports only 92 seconds though

Sega-Zero commented 1 year ago

having nearly the same trouble. the stacktrace:

 wrong number of arguments (given 3, expected 2)

/Users/admin/.rvm/gems/ruby-2.6.5/gems/google-api-client-0.52.0/lib/google/apis/core/base_service.rb:128:in `initialize': [!] wrong number of arguments (given 3, expected 2) (ArgumentError)
    from /Users/admin/.rvm/gems/ruby-2.6.5/gems/google-apis-firebaseappdistribution_v1-0.3.0/lib/google/apis/firebaseappdistribution_v1/service.rb:46:in `initialize'
    from /Users/admin/.rvm/gems/ruby-2.6.5/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/helper/firebase_app_distribution_helper.rb:76:in `new'
    from /Users/admin/.rvm/gems/ruby-2.6.5/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/helper/firebase_app_distribution_helper.rb:76:in `init_client'
    from /Users/admin/.rvm/gems/ruby-2.6.5/gems/fastlane-plugin-firebase_app_distribution-0.7.0/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:37:in `run'
    from /Users/admin/.rvm/gems/ruby-2.6.5/gems/fastlane-2.214.0/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
Panajev commented 1 year ago

Hello, it is breaking our CI pipelines too since it is forcing Fastlane to use the wrong version of the google dependency:

Screenshot 2023-08-02 at 16 44 31

--> causing: https://github.com/fastlane/fastlane/issues/19208

unknown keyword: :changes_not_sent_for_review [...] [17:14:19]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...

➡️ supply - unknown keyword: changes_not_sent_for_review https://github.com/fastlane/fastlane/issues/19208 [closed] 7 💬 10 Jan 2022

Panajev commented 1 year ago

More details here too: https://github.com/fastlane/fastlane/issues/19208#issuecomment-903044670

lfkellogg commented 1 year ago

@felixlix45 Could you please try updating to 0.7.1.pre.1? I believe that should fix the timeout issue you are seeing. You can set gem 'fastlane-plugin-firebase_app_distribution', '0.7.1.pre.1' in your fastlane/Pluginfile to pick it up.

@Sega-Zero Can you please file a new issue? That looks like a different problem

@Panajev Similarly, can you please file a new issue? (Even though it looks like it might be the same underlying cause as @Sega-Zero)

Thanks, all.

lfkellogg commented 1 year ago

@Sega-Zero @Panajev In the meantime we've pushed 0.7.1.pre.2 which may fix your issues. Can you please try setting gem 'fastlane-plugin-firebase_app_distribution', '0.7.1.pre.2' in your fastlane/Pluginfile to pick it up, and let me know? Thanks.

iandr01d commented 1 year ago

@lfkellogg I am facing the same issue with my pipeline as well, just updated to 0.7.1.pre.2. Will keep you posted in a while.

felixlix45 commented 1 year ago

Hi @lfkellogg, still got the same issue with 0.7.1.pre.2

Here's the log, seems like it reports the correct time value on the fastlane summary sections

| fastlane-plugin-firebase_app_distribution | 0.7.1.pre.2 | firebase_app_distribution_get_latest_release, firebase_app_distribution_create_group, firebase_app_distribution_remove_testers, firebase_app_distribution_delete_group, firebase_app_distribution_add_testers, firebase_app_distribution_get_udids, firebase_app_distribution |
...
[17:57:08]: Warning: Debug logging enabled. Output may include sensitive information.
[17:57:08]: 🔐 Authenticating with --firebase_cli_token parameter
[17:57:08]: ⌛ Uploading the APK.
D, [2023-08-02T17:57:09.019955 #42] DEBUG -- : Sending HTTP post https://firebaseappdistribution.googleapis.com/upload/v1/projects/XXXX/apps/1:XXXX:XXX:XXXX/releases:upload?
D, [2023-08-02T18:11:03.726915 #42] DEBUG -- : Caught error execution expired
D, [2023-08-02T18:11:03.727065 #42] DEBUG -- : Error - #<HTTPClient::SendTimeoutError: execution expired>
+------------------+----------------------------------------------+
|                          Lane Context                           |
+------------------+----------------------------------------------+
| DEFAULT_PLATFORM | android                                      |
| PLATFORM_NAME    | android                                      |
| LANE_NAME        | android deploy_development_debug_to_firebase |
+------------------+----------------------------------------------+
[18:11:03]: execution expired
+------+---------------------------+-------------+
|                fastlane summary                |
+------+---------------------------+-------------+
| Step | Action                    | Time (in s) |
+------+---------------------------+-------------+
| 1    | default_platform          | 0           |
| 💥   | firebase_app_distribution | 834         |
+------+---------------------------+-------------+
[18:11:03]: fastlane finished with errors
Full stacktrace: ``` /usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `[]=': \e[31m[!] execution expired\e[0m (Google::Apis::TransmissionError) from /usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `do_write' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:339:in `block in write' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `each' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `inject' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `write' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/ssl_socket.rb:80:in `<<' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:510:in `dump' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:962:in `dump' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:517:in `block in query' from /usr/lib/ruby/2.7.0/timeout.rb:105:in `timeout' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:515:in `query' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:177:in `query' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1242:in `do_get_block' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1104:in `follow_redirect' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:854:in `request' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:313:in `execute_once' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:126:in `block (2 levels) in do_retry' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:123:in `block in do_retry' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:113:in `do_retry' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:104:in `execute' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/base_service.rb:418:in `execute_or_queue_command' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/base_service.rb:265:in `http' from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.1.pre.2/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:262:in `upload_binary' from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.1.pre.2/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:54:in `run' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `chdir' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' from Fastfile:132:in `block (2 levels) in parsing_binding' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane.rb:33:in `call' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:49:in `block in execute' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `chdir' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `execute' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:354:in `run' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:43:in `start' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/bin/fastlane:23:in `' from /usr/local/bin/fastlane:23:in `load' from /usr/local/bin/fastlane:23:in `
' /usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `[]=': execution expired (HTTPClient::SendTimeoutError) from /usr/lib/ruby/2.7.0/openssl/buffering.rb:326:in `do_write' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:339:in `block in write' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `each' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `inject' from /usr/lib/ruby/2.7.0/openssl/buffering.rb:338:in `write' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/ssl_socket.rb:80:in `<<' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:510:in `dump' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/http.rb:962:in `dump' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:517:in `block in query' from /usr/lib/ruby/2.7.0/timeout.rb:105:in `timeout' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:515:in `query' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient/session.rb:177:in `query' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1242:in `do_get_block' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1019:in `block in do_request' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1133:in `protect_keep_alive_disconnected' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1014:in `do_request' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:1104:in `follow_redirect' from /var/lib/gems/2.7.0/gems/httpclient-2.8.3/lib/httpclient.rb:854:in `request' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:313:in `execute_once' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:126:in `block (2 levels) in do_retry' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:123:in `block in do_retry' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:61:in `block in retriable' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `times' from /var/lib/gems/2.7.0/gems/retriable-3.1.2/lib/retriable.rb:56:in `retriable' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:113:in `do_retry' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/http_command.rb:104:in `execute' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/base_service.rb:418:in `execute_or_queue_command' from /var/lib/gems/2.7.0/gems/google-apis-core-0.11.1/lib/google/apis/core/base_service.rb:265:in `http' from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.1.pre.2/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:262:in `upload_binary' from /var/lib/gems/2.7.0/gems/fastlane-plugin-firebase_app_distribution-0.7.1.pre.2/lib/fastlane/plugin/firebase_app_distribution/actions/firebase_app_distribution_action.rb:54:in `run' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `chdir' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:229:in `execute_action' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing' from Fastfile:132:in `block (2 levels) in parsing_binding' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane.rb:33:in `call' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:49:in `block in execute' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `chdir' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/runner.rb:45:in `execute' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:187:in `call' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/command.rb:157:in `run' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!' from /var/lib/gems/2.7.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:354:in `run' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/commands_generator.rb:43:in `start' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off' from /var/lib/gems/2.7.0/gems/fastlane-2.212.2/bin/fastlane:23:in `' from /usr/local/bin/fastlane:23:in `load' from /usr/local/bin/fastlane:23:in `
' ```
lfkellogg commented 1 year ago

@felixlix45 I'm not sure why it's taking so much longer to fail than the default timeout (5 minutes) but I suspect it's retrying inside the client when it shouldn't be.

Regardless though could you please try setting a longer timeout in the firebase_app_distribution action via upload_timeout: 600 (or some larger number of seconds like that)? It's possible that the uploads are taking longer with this new update.

Sega-Zero commented 1 year ago

@lfkellogg my issue seems to be fixed in pre.2

Panajev commented 1 year ago

@lfkellogg I created https://github.com/firebase/fastlane-plugin-firebase_app_distribution/issues/335 to track the issue and the testing I am doing with pre.2.

felixlix45 commented 1 year ago

@lfkellogg, yeah after adding upload_timeout: 1200, the upload is successful but with a ridiculous amount of time to upload. For now, I'll stick to 0.6.1

Here's my comparison between 0.6.1 vs 0.7.1.pre.2

0.6.1

D, [2023-08-01T09:49:52.108197 #15] DEBUG -- request: POST https://firebaseappdistribution.googleapis.com/upload/v1/projects/XXX/apps/1:XXX:XXX:XXX/releases:upload
D, [2023-08-01T09:49:56.779865 #15] DEBUG -- response: Status 200

0.7.1.pre.2

D, [2023-08-02T20:16:45.021846 #45] DEBUG -- : Sending HTTP post https://firebaseappdistribution.googleapis.com/upload/v1/projects/XXX/apps/1:XXX:XXX:XXX/releases:upload?
D, [2023-08-02T20:30:30.399632 #45] DEBUG -- : 200
jieey1140 commented 1 year ago

It's the same issue.

When I lowered the version to 0.6.1, the upload speed was improved.

lfkellogg commented 1 year ago

@felixlix45 @jieey1140 A fix for the slow uploads issue is now available in version 0.7.2.pre.1. Can you please try setting gem 'fastlane-plugin-firebase_app_distribution', '0.7.2.pre.1' in your fastlane/Pluginfile to pick it up, and let me know if your binary uploads are faster? Thanks.

jieey1140 commented 1 year ago

@lfkellogg

[15:26:38]: Warning: Debug logging enabled. Output may include sensitive information.
[15:26:38]: 🔐 Authenticating with --service_credentials_file path parameter: fastlane/service-account.json
[15:26:38]: ⌛ Uploading the APK.
D, [2023-08-04T15:26:38.685182 #51767] DEBUG -- request: POST https://firebaseappdistribution.googleapis.com/upload/v1/projects/XXX/apps/1:XXX:XXX:XXX/releases:upload
D, [2023-08-04T15:26:46.632563 #51767] DEBUG -- response: Status 200
D, [2023-08-04T15:26:46.632763 #51767] DEBUG -- response: {
  "name": "projects/XXX/apps/1:XXX:XXX:XXX/releases/-/operations/4f4d8c2fe086edd7945d7ca3b4d3ccde6fa04724c67ae38c5"
}

D, [2023-08-04T15:26:46.634091 #51767] DEBUG -- request: GET https://firebaseappdistribution.googleapis.com/v1/projects/XXX/apps/1:XXX:XXX:XXX/releases/-/operations/4f4d8c2fe086e77ca3b4d3ccde6fe38c5
D, [2023-08-04T15:26:47.864738 #51767] DEBUG -- response: Status 200
D, [2023-08-04T15:26:47.864965 #51767] DEBUG -- response: {
  "name": "projects/XXX/apps/1:XXX:XXX:XXXreleases/-/operations/4f4d824c67ae38c5",
  "done": true,

Above is the upload speed of the existing 0.6.1.

15:26:38~15:26:46

=====================================================

  [15:29:18]: 🔐 Authenticating with --service_credentials_file path parameter: fastlane/service-account.json
[15:29:19]: ⌛ Uploading the APK.
D, [2023-08-04T15:29:19.403816 #52152] DEBUG -- request: POST https://firebaseappdistribution.googleapis.com/upload/v1/projects/XXX/apps/1:XXX:XXX:XXX/releases:upload
D, [2023-08-04T15:29:26.349074 #52152] DEBUG -- response: Status 200
D, [2023-08-04T15:29:26.349181 #52152] DEBUG -- response: {
  "name": "projects/XXX/apps/1:XXX:XXX:XXX/releases/-/operations/4f4d8c2fe0724c67ae38c5"
}

D, [2023-08-04T15:29:26.353348 #52152] DEBUG -- : Sending HTTP get https://firebaseappdistribution.googleapis.com/v1/projects/XXX/apps/1:XXX:XXX:XXX/releases/-/operations/4f4d8c2fe0824c67ae38c5?
D, [2023-08-04T15:29:27.579338 #52152] DEBUG -- : 200

Above is the upload speed of the existing. 0.7.2.pre.1

15:29:18 ~ 15:29:26

=====================================================

We now see that the upload speed of the previous 0.6.1 version is the same in the new. 0.7.2.pre.1 version! :)

lfkellogg commented 1 year ago

This is now fixed in release v0.7.2.

fcsjesus commented 1 year ago

Hello everyone, I'm getting this error, can anyone help me please?

`Fetching google-apis-core-0.11.1.gem Fetching google-apis-firebaseappdistribution_v1-0.3.0.gem Fetching fastlane-plugin-firebase_app_distribution-0.7.2.gem [13:51:57]: Successfully installed 'fastlane-plugin-firebase_app_distribution' [13:51:57]: Error loading plugin 'fastlane-plugin-firebase_app_distribution': Unable to activate google-apis-firebaseappdistribution_v1-0.3.0, because google-apis-core-0.7.0 conflicts with google-apis-core (>= 0.11.0, < 2.a) [13:51:57]: It seems like you wanted to load some plugins, however they couldn't be loaded [13:51:57]: Please follow the troubleshooting guide: https://docs.fastlane.tools/plugins/plugins-troubleshooting/ +-------------------------------------------+-----------+------------------+ | Used plugins | +-------------------------------------------+-----------+------------------+ | Plugin | Version | Action | +-------------------------------------------+-----------+------------------+ | fastlane-plugin-firebase_app_distribution | undefined | No actions found | +-------------------------------------------+-----------+------------------+

[!] No actions were found while loading one or more plugins Please use bundle exec fastlane with plugins More info - https://docs.fastlane.tools/plugins/using-plugins/#run-with-plugins`

lfkellogg commented 1 year ago

@fcsjesus Can you please create a new issue for this?