upload_timeout parameter has no effect
giilby opened this issue ยท 3 comments
Issue Description
When uploading from a network with slow upload speeds, our upload sometimes times out. I tried to increase upload_timeout
from the default of 120s to something higher, but it didn't have any effect. Then, I set it to 2s, which also had no effect (see the logging output below from an upload test on a very fast network). Is the setting not being applied? Additionally, this setting is not currently mentioned in the docs at https://firebase.google.com/docs/app-distribution/ios/distribute-fastlane.
Configuration
firebase_app_distribution(
app: "APP_ID",
groups: "some-group",
release_notes: "some release notes",
upload_timeout: 2
)
Complete verbose output
[11:18:12]: ---------------------------------------
[11:18:12]: --- Step: firebase_app_distribution ---
[11:18:12]: ---------------------------------------
[11:18:12]: Warning: Debug logging enabled. Output may include sensitive information.
[11:18:12]: ๐ Authenticating with FIREBASE_TOKEN environment variable
[11:18:12]: โ Uploading the IPA.
D, [2024-01-12T11:18:12.450110 #4365] DEBUG -- : Sending HTTP post https://firebaseappdistribution.googleapis.com/upload/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases:upload?
D, [2024-01-12T11:18:16.954276 #4365] DEBUG -- : 200
D, [2024-01-12T11:18:16.956321 #4365] DEBUG -- : #<HTTP::Message:0x000000014738b308 @http_body=#<HTTP::Message::Body:0x000000014738b268 @body="{\n" + " \"name\": \"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID\"\n" + "}\n", @chunk_size=nil, @positions=nil, @size=0>, @http_header=#<HTTP::Message::Headers:0x000000014738b2e0 @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @body_size=0, @body_type=nil, @chunked=false, @dumped=false, @header_item=[["X-GUploader-UploadID", "ABPtcPq0xBLG1GVchXP90I8OWq_M53PRV-jssmMppH_Fg8STokjzz3siR69GQ3ckIBhs8-KcpNw"], ["Content-Type", "application/json; charset=UTF-8"], ["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Length", "164"], ["Date", "Fri, 12 Jan 2024 17:18:16 GMT"], ["Server", "UploadServer"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"]], @http_version="1.1", @is_request=false, @reason_phrase="OK", @request_absolute_uri=nil, @request_method="POST", @request_query=nil, @request_uri=#<Addressable::URI:0x1bf8 URI:https://firebaseappdistribution.googleapis.com/upload/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases:upload?>, @status_code=200>, @peer_cert=#<OpenSSL::X509::Certificate subject=#<OpenSSL::X509::Name CN=upload.video.google.com>, issuer=#<OpenSSL::X509::Name CN=GTS CA 1C3,O=Google Trust Services LLC,C=US>, serial=#<OpenSSL::BN 17851553526684096801775809495725313123>, not_before=2023-11-20 08:08:50 UTC, not_after=2024-02-12 08:08:49 UTC>, @previous=nil>
D, [2024-01-12T11:18:16.956836 #4365] DEBUG -- : Success - "{\n" +
" \"name\": \"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID\"\n" +
"}\n"
[11:18:16]: ๐ต๏ธ Validating upload.
D, [2024-01-12T11:18:16.958715 #4365] DEBUG -- : Sending HTTP get https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID?
D, [2024-01-12T11:18:17.148217 #4365] DEBUG -- : 200
D, [2024-01-12T11:18:17.149985 #4365] DEBUG -- : #<HTTP::Message:0x00000001114bd0e0 @http_body=#<HTTP::Message::Body:0x00000001114bd040 @body="{\n" + " \"name\": \"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID\"\n" + "}\n", @chunk_size=nil, @positions=nil, @size=0>, @http_header=#<HTTP::Message::Headers:0x00000001114bd0b8 @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @body_size=0, @body_type=nil, @chunked=false, @dumped=false, @header_item=[["Content-Type", "application/json; charset=UTF-8"], ["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Encoding", "gzip"], ["Date", "Fri, 12 Jan 2024 17:18:17 GMT"], ["Server", "ESF"], ["Cache-Control", "private"], ["X-XSS-Protection", "0"], ["X-Frame-Options", "SAMEORIGIN"], ["X-Content-Type-Options", "nosniff"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"], ["Transfer-Encoding", "chunked"]], @http_version="1.1", @is_request=false, @reason_phrase="OK", @request_absolute_uri=nil, @request_method="GET", @request_query=nil, @request_uri=#<Addressable::URI:0x1c0c URI:https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID?>, @status_code=200>, @peer_cert=#<OpenSSL::X509::Certificate subject=#<OpenSSL::X509::Name CN=upload.video.google.com>, issuer=#<OpenSSL::X509::Name CN=GTS CA 1C3,O=Google Trust Services LLC,C=US>, serial=#<OpenSSL::BN 17851553526684096801775809495725313123>, not_before=2023-11-20 08:08:50 UTC, not_after=2024-02-12 08:08:49 UTC>, @previous=nil>
D, [2024-01-12T11:18:17.151039 #4365] DEBUG -- : Success - #<Google::Apis::FirebaseappdistributionV1::GoogleLongrunningOperation:0x000000011148d520
@name=
"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID">
D, [2024-01-12T11:18:22.153456 #4365] DEBUG -- : Sending HTTP get https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID?
D, [2024-01-12T11:18:22.286756 #4365] DEBUG -- : 200
D, [2024-01-12T11:18:22.289108 #4365] DEBUG -- : #<HTTP::Message:0x000000011146f048 @http_body=#<HTTP::Message::Body:0x000000011146efa8 @body="{\n" + " \"name\": \"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID\",\n" + " \"done\": true,\n" + " \"response\": {\n" + " \"@type\": \"type.googleapis.com/google.firebase.appdistro.v1.UploadReleaseResponse\",\n" + " \"result\": \"RELEASE_CREATED\",\n" + " \"release\": {\n" + " \"name\": \"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID\",\n" + " \"displayVersion\": \"1.2.3\",\n" + " \"buildVersion\": \"1\",\n" + " \"createTime\": \"2024-01-12T17:18:18.747201Z\",\n" + " \"firebaseConsoleUri\": \"https://console.firebase.google.com/project/firebase-project-slug/appdistribution/app/ios:com.org.name/releases/RELEASE_ID\",\n" + " \"testingUri\": \"https://appdistribution.firebase.google.com/testerapps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID\",\n" + " \"binaryDownloadUri\": \"https://firebaseappdistribution.googleapis.com/app-binary-downloads/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID/binaries/BINARY_ID/app.ipa?token=TOKEN\"\n" + " }\n" + " }\n" + "}\n", @chunk_size=nil, @positions=nil, @size=0>, @http_header=#<HTTP::Message::Headers:0x000000011146f020 @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @body_size=0, @body_type=nil, @chunked=false, @dumped=false, @header_item=[["Content-Type", "application/json; charset=UTF-8"], ["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Encoding", "gzip"], ["Date", "Fri, 12 Jan 2024 17:18:22 GMT"], ["Server", "ESF"], ["Cache-Control", "private"], ["X-XSS-Protection", "0"], ["X-Frame-Options", "SAMEORIGIN"], ["X-Content-Type-Options", "nosniff"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"], ["Transfer-Encoding", "chunked"]], @http_version="1.1", @is_request=false, @reason_phrase="OK", @request_absolute_uri=nil, @request_method="GET", @request_query=nil, @request_uri=#<Addressable::URI:0x1c20 URI:https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID?>, @status_code=200>, @peer_cert=#<OpenSSL::X509::Certificate subject=#<OpenSSL::X509::Name CN=upload.video.google.com>, issuer=#<OpenSSL::X509::Name CN=GTS CA 1C3,O=Google Trust Services LLC,C=US>, serial=#<OpenSSL::BN 17851553526684096801775809495725313123>, not_before=2023-11-20 08:08:50 UTC, not_after=2024-02-12 08:08:49 UTC>, @previous=nil>
D, [2024-01-12T11:18:22.290596 #4365] DEBUG -- : Success - #<Google::Apis::FirebaseappdistributionV1::GoogleLongrunningOperation:0x000000011143d390
@done=true,
@name=
"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/-/operations/BINARY_ID",
@response=
{"@type"=>
"type.googleapis.com/google.firebase.appdistro.v1.UploadReleaseResponse",
"result"=>"RELEASE_CREATED",
"release"=>
{"name"=>
"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID",
"displayVersion"=>"1.2.3",
"buildVersion"=>"1",
"createTime"=>"2024-01-12T17:18:18.747201Z",
"firebaseConsoleUri"=>
"https://console.firebase.google.com/project/firebase-project-slug/appdistribution/app/ios:com.org.name/releases/RELEASE_ID",
"testingUri"=>
"https://appdistribution.firebase.google.com/testerapps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID",
"binaryDownloadUri"=>
"https://firebaseappdistribution.googleapis.com/app-binary-downloads/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID/binaries/BINARY_ID/app.ipa?token=TOKEN"}}>
[11:18:22]: โ
Uploaded IPA successfully and created release 1.2.3 (1).
[11:18:22]: ๐ Setting release notes.
D, [2024-01-12T11:18:22.292182 #4365] DEBUG -- : Sending HTTP patch https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID?
D, [2024-01-12T11:18:22.423018 #4365] DEBUG -- : 200
D, [2024-01-12T11:18:22.425256 #4365] DEBUG -- : #<HTTP::Message:0x00000001113deb88 @http_body=#<HTTP::Message::Body:0x00000001113deae8 @body="{\n" + " \"name\": \"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID\",\n" + " \"releaseNotes\": {\n" + " \"text\": \"Upload test for bug report\"\n" + " },\n" + " \"displayVersion\": \"1.2.3\",\n" + " \"buildVersion\": \"1\",\n" + " \"createTime\": \"2024-01-12T17:18:18.747201Z\",\n" + " \"firebaseConsoleUri\": \"https://console.firebase.google.com/project/firebase-project-slug/appdistribution/app/ios:com.org.name/releases/RELEASE_ID\",\n" + " \"testingUri\": \"https://appdistribution.firebase.google.com/testerapps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID\",\n" + " \"binaryDownloadUri\": \"https://firebaseappdistribution.googleapis.com/app-binary-downloads/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID/binaries/BINARY_ID/app.ipa?token=TOKEN\"\n" + "}\n", @chunk_size=nil, @positions=nil, @size=0>, @http_header=#<HTTP::Message::Headers:0x00000001113deb60 @body_charset=nil, @body_date=nil, @body_encoding=#<Encoding:UTF-8>, @body_size=0, @body_type=nil, @chunked=false, @dumped=false, @header_item=[["Content-Type", "application/json; charset=UTF-8"], ["Vary", "Origin"], ["Vary", "X-Origin"], ["Vary", "Referer"], ["Content-Encoding", "gzip"], ["Date", "Fri, 12 Jan 2024 17:18:22 GMT"], ["Server", "ESF"], ["Cache-Control", "private"], ["X-XSS-Protection", "0"], ["X-Frame-Options", "SAMEORIGIN"], ["X-Content-Type-Options", "nosniff"], ["Alt-Svc", "h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000"], ["Transfer-Encoding", "chunked"]], @http_version="1.1", @is_request=false, @reason_phrase="OK", @request_absolute_uri=nil, @request_method="PATCH", @request_query=nil, @request_uri=#<Addressable::URI:0x1c34 URI:https://firebaseappdistribution.googleapis.com/v1/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID?>, @status_code=200>, @peer_cert=#<OpenSSL::X509::Certificate subject=#<OpenSSL::X509::Name CN=upload.video.google.com>, issuer=#<OpenSSL::X509::Name CN=GTS CA 1C3,O=Google Trust Services LLC,C=US>, serial=#<OpenSSL::BN 17851553526684096801775809495725313123>, not_before=2023-11-20 08:08:50 UTC, not_after=2024-02-12 08:08:49 UTC>, @previous=nil>
D, [2024-01-12T11:18:22.427173 #4365] DEBUG -- : Success - #<Google::Apis::FirebaseappdistributionV1::GoogleFirebaseAppdistroV1Release:0x00000001113adb00
@binary_download_uri=
"https://firebaseappdistribution.googleapis.com/app-binary-downloads/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID/binaries/BINARY_ID/app.ipa?token=TOKEN",
@build_version="1",
@create_time="2024-01-12T17:18:18.747201Z",
@display_version="1.2.3",
@firebase_console_uri=
"https://console.firebase.google.com/project/firebase-project-slug/appdistribution/app/ios:com.org.name/releases/RELEASE_ID",
@name=
"projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID",
@release_notes=
#<Google::Apis::FirebaseappdistributionV1::GoogleFirebaseAppdistroV1ReleaseNotes:0x000000011139f438
@text="Upload test for bug report">,
@testing_uri=
"https://appdistribution.firebase.google.com/testerapps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID">
[11:18:22]: โฉ No testers or groups passed in. Skipping this step.
[11:18:22]: ๐ App Distribution upload finished successfully. Setting Actions.lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE] to the uploaded release.
[11:18:22]: ๐ View this release in the Firebase console: https://console.firebase.google.com/project/firebase-project-slug/appdistribution/app/ios:com.org.name/releases/RELEASE_ID
[11:18:22]: ๐ Share this release with testers who have access: https://appdistribution.firebase.google.com/testerapps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID
[11:18:22]: ๐ Download the release binary (link expires in 1 hour): https://firebaseappdistribution.googleapis.com/app-binary-downloads/projects/PROJECT_ID/apps/1:PROJECT_ID:ios:APP_ID/releases/RELEASE_ID/binaries/BINARY_ID/app.ipa?token=TOKEN
+------------------------------------------------+
| fastlane summary |
+------+---------------------------+-------------+
| Step | Action | Time (in s) |
+------+---------------------------+-------------+
...
| 6 | firebase_app_distribution | 10 |
+------+---------------------------+-------------+
[11:18:22]: fastlane.tools finished successfully ๐
Environment
Library | Version |
---|---|
fastlane | 2.219.0 |
fastlane-plugin-firebase_app_distribution | 0.8.0 |
@giilby Thanks for the report. I was able to reproduce this and it appears to be fixed in 0.8.1
. Can you please try upgrading and see if that resolves the issue for you?
@lfkellogg Yep, 0.8.1
fixed it! Thanks for the quick turnaround.