fastlane / fastlane

🚀 The easiest way to automate building and releasing your iOS and Android apps
https://fastlane.tools
MIT License
39.66k stars 5.72k forks source link

Rate limit has been exceeded for: testflight|default|APPLE_CONNECT #12845

Closed elviin closed 5 years ago

elviin commented 6 years ago

New Issue Checklist

Issue Description

From time to time I get an error: Rate limit has been exceeded for: testflight|default|APPLE_CONNECT:11807886017

But the application is successfully uploaded to Testflight anyway.

My apple account is used for several appstoreconnect teams and this issues happens almost randomly with different CircleCI builds.

Complete output when running fastlane, including the stack trace and command used
DEBUG [2018-07-03 06:50:18.12]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 88559000/106680968, 83% completed

DEBUG [2018-07-03 06:50:18.29]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 90692000/106680968, 85% completed

DEBUG [2018-07-03 06:50:18.36]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 91750600/106680968, 86% completed

DEBUG [2018-07-03 06:50:18.44]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 92825000/106680968, 87% completed

DEBUG [2018-07-03 06:50:18.59]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 94958000/106680968, 89% completed

DEBUG [2018-07-03 06:50:18.75]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 97091000/106680968, 91% completed

DEBUG [2018-07-03 06:50:18.90]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 98149600/106680968, 92% completed

DEBUG [2018-07-03 06:50:18.98]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 99224000/106680968, 93% completed

DEBUG [2018-07-03 06:50:19.17]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 101357000/106680968, 95% completed

DEBUG [2018-07-03 06:50:19.33]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 103490000/106680968, 97% completed

DEBUG [2018-07-03 06:50:19.41]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 104548600/106680968, 98% completed

DEBUG [2018-07-03 06:50:19.52]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 105623000/106680968, 99% completed

DEBUG [2018-07-03 06:50:19.60]: [Transporter]: INFO:      File: f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa 106680968/106680968, 100% completed

DEBUG [2018-07-03 06:50:19.70]: [Transporter]: DBG-X: The status for the file, f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa, is TRANSFERRED.

DEBUG [2018-07-03 06:50:19.70]: [Transporter]: INFO: Package upload progress: 100% completed

DEBUG [2018-07-03 06:50:20.02]: [Transporter]: INFO: The Signiant transfer engine's status is DISCONNECTED

DEBUG [2018-07-03 06:50:20.09]: [Transporter]: INFO: The Signiant transfer engine's status is DISCONNECTED

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: INFO: The file, metadata.xml, was uploaded successfully.

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: INFO: The file, f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa, was uploaded successfully.

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: INFO: The status for the upload is SUCCESSFUL.

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: INFO: The package's files (1363154774.itmsp) uploaded successfully.

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: INFO: Done performing upload.

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: DBG-X: The transfer time for the package 1363154774.itmsp was 11999 milliseconds.

DEBUG [2018-07-03 06:50:20.14]: [Transporter]: DBG-X: Throughput information for 1363154774.itmsp: 0 minutes, 12 seconds, 101.74MB, 8.48MB/sec

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X: Deflated 472 bytes to 348

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X: Memory: [JVM] 933M free, 981M total, 981M max [System] (Physical) 3524M free, 8192M total (Swap) 0 free, 0 total

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X: Using operation named: uploadDoneWithArguments

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X: Apple's web service operation input parameters:

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter Application = iTMSTransporter

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter BaseVersion = 1.9.6

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter CPUToken = 0f278e32-341c-42a7-bab4-98d1dc8f4432/1530625796963

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter ClientChecksumInfo = [{CalculationTime=343, FileLastModified=1530625718000, Filename=f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa, FileSize=106680968, CalculatedChecksum=91b33221f580a3577c22eaed411e51e6}]

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter ExtraTransportLogCompressed = (suppressed)

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter FileSizeInfo = {f00975d02270cbf57a185385f8550a91d5d0d37521b474d76a78df1ea788bd39.ipa=106680968, metadata.xml=485}

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter NewPackageName = 1363154774-20180703064957-382.itmsp

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter NumberBytesTransferred = 106681453

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter OSIdentifier = Mac OS X 10.13.3 (x86_64); jvm=25.71-b02; jre=1.8.0-u131-b11-iTMSTransporter-b02

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter PackagePathWithoutBase = sgr8_pod2/transporter/content/transporter/HC34URQPCY

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter StatisticsArray = [{duration=0.301362675, method=clientApplication.start}, {duration=0.399900324, method=authenticateForSession}, {duration=3.717172344, method=validateMetadata}, {duration=9.109273543, method=lookupTransportDiagnostic}, {duration=24.261659574, method=validateAssets}, {duration=1.040129615, method=clientChecksumCompleted}]

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter StatisticsClientStartDateTimeZoneISO = 2018-07-03T06:50:20-07:00

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter StatisticsPreviousCallDurationInSecs = 1.040129615

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter Throttle = 100000

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter TransferTime = 11999

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter Transport = Signiant

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter TransportLogCompressed = (suppressed)

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter TransporterArguments = -m upload -u vladimir.slavik@clark.de -p **hidden value** -f /var/folders/gk/lkr9pm5x039fx6d3j9r52rv80000gn/T/d20180703-634-1knsphe/1363154774.itmsp -t Signiant -k 100000

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter Username = vladimir.slavik@clark.de

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter Version = 1.9.6

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: DBG-X:   parameter iTMSTransporterMode = upload

DEBUG [2018-07-03 06:50:20.15]: [Transporter]: INFO: id = 20180703065020-053

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X: Apple's web service operation return value:

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X:   parameter EnableJWTForAllCalls = false

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X:   parameter SessionInvalid = true

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X:   parameter Success = true

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X:   parameter StreamingSettings = {LogStreamingEnabled=true, MultipartUploadsEnabled=true, AssetDescriptionStreamingEnabled=false}

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X: Unlocking token at path /Users/distiller/.itmstransporter/UploadTokens/static.162.252.208.84.cyberlynk.net_HC34URQPCY_1363154774.itmsp.token

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X: Releasing token file lock

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: DBG-X: Removing token at path /Users/distiller/.itmstransporter/UploadTokens/static.162.252.208.84.cyberlynk.net_HC34URQPCY_1363154774.itmsp.token

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: INFO: Done performing uploadDone notification to Apple.

DEBUG [2018-07-03 06:50:22.09]: [Transporter]: INFO: The package: /var/folders/gk/lkr9pm5x039fx6d3j9r52rv80000gn/T/d20180703-634-1knsphe/1363154774.itmsp has been successfully uploaded.

INFO [2018-07-03 06:50:22.22]: iTunes Transporter successfully finished its job
DEBUG [2018-07-03 06:50:22.22]: [Transporter]: DBG-X: Returning 0

WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT] 
DBG-X: parameter Success = true WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
DBG-X: parameter StreamingSettings = {LogStreamingEnabled=true, MultipartUploadsEnabled=true, AssetDescriptionStreamingEnabled=false} WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
DBG-X: Unlocking token at path /Users/distiller/.itmstransporter/UploadTokens/static.162.252.208.84.cyberlynk.net_HC34URQPCY_1363154774.itmsp.token WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
DBG-X: Releasing token file lock WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
DBG-X: Removing token at path /Users/distiller/.itmstransporter/UploadTokens/static.162.252.208.84.cyberlynk.net_HC34URQPCY_1363154774.itmsp.token WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
INFO: Done performing uploadDone notification to Apple. WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
INFO: The package: /var/folders/gk/lkr9pm5x039fx6d3j9r52rv80000gn/T/d20180703-634-1knsphe/1363154774.itmsp has been successfully uploaded. WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] Package Summary: WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] 1 packages were uploaded successfully: WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] /var/folders/gk/lkr9pm5x039fx6d3j9r52rv80000gn/T/d20180703-634-1knsphe/1363154774.itmsp WARN [2018-07-03 06:50:22.32]: [iTMSTransporter] [2018-07-03 06:50:22 PDT]
DBG-X: Returning 0 INFO [2018-07-03 06:50:22.32]: iTunes Transporter output above ^ WARN [2018-07-03 06:50:22.32]: Although errors occurred during execution of iTMSTransporter, it returned success status. INFO [2018-07-03 06:50:22.36]: ----------------------------------------------------- INFO [2018-07-03 06:50:22.36]: Successfully uploaded package to iTunes Connect. It might take a few minutes until it's visible online. INFO [2018-07-03 06:50:22.36]: ----------------------------------------------------- INFO [2018-07-03 06:50:22.37]: Successfully uploaded the new binary to iTunes Connect INFO [2018-07-03 06:50:22.37]: If you want to skip waiting for the processing to be finished, use the `skip_waiting_for_build_processing` option INFO [2018-07-03 06:50:31.02]: Waiting for iTunes Connect to finish processing the new build (2.0.3 - 3114.35425.0) INFO [2018-07-03 06:51:03.46]: Waiting for iTunes Connect to finish processing the new build (2.0.3 - 3114.35425.0) INFO [2018-07-03 06:51:36.20]: Waiting for iTunes Connect to finish processing the new build (2.0.3 - 3114.35425.0) INFO [2018-07-03 06:52:09.51]: Waiting for iTunes Connect to finish processing the new build (2.0.3 - 3114.35425.0) INFO [2018-07-03 06:52:42.30]: Waiting for iTunes Connect to finish processing the new build (2.0.3 - 3114.35425.0) INFO [2018-07-03 06:53:14.92]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:53:47.73]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:54:20.31]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:54:53.31]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:55:26.02]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:55:58.54]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:56:31.05]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:57:03.88]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:57:37.08]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:58:10.18]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:58:43.08]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) INFO [2018-07-03 06:59:14.98]: Build doesn't show up in the build list anymore, waiting for it to appear again (check your email for processing issues if this continues) WARN [2018-07-03 06:59:45.20]: Lane Context: INFO [2018-07-03 06:59:45.20]: {:DEFAULT_PLATFORM=>:ios, :GET_INFO_PLIST_VALUE_CUSTOM_VALUE=>"2.0.3", :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta_testflight", :ORIGINAL_DEFAULT_KEYCHAIN=>"\"/Users/distiller/Library/Keychains/login.keychain-db\"", :SIGH_PROFILE_TYPE=>"app-store", :MATCH_PROVISIONING_PROFILE_MAPPING=>{"de.devk.devk2go"=>"match AppStore de.devk.devk2go"}, :IPA_OUTPUT_PATH=>"/Users/distiller/project/DEVK.ipa", :DSYM_OUTPUT_PATH=>"/Users/distiller/project/DEVK.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/distiller/Library/Developer/Xcode/Archives/2018-07-03/DEVK 2018-07-03 06.46.36.xcarchive"} ERROR [2018-07-03 06:59:45.20]: Rate limit has been exceeded for: testflight|default|APPLE_CONNECT:11807886017 INFO [2018-07-03 06:59:45.20]: Successfully generated documentation at path '/Users/distiller/project/fastlane/README.md' +------+-----------------------------+-------------+ | fastlane summary | +------+-----------------------------+-------------+ | Step | Action | Time (in s) | +------+-----------------------------+-------------+ | 1 | Verifying fastlane version | 0 | | 2 | default_platform | 0 | | 3 | get_info_plist_value | 0 | | 4 | git log -1 --pretty=%B 2>&1 | 0 | | 5 | fastlane -v | 2 | | 6 | setup_circle_ci | 0 | | 7 | cocoapods | 30 | | 8 | shell command | 0 | | 9 | update_info_plist | 0 | | 10 | match | 12 | | 11 | gym | 120 | | 💥 | pilot | 670 | +------+-----------------------------+-------------+ DEBUG [2018-07-03 06:59:45.21]: All plugins are up to date ERROR [2018-07-03 06:59:45.21]: fastlane finished with errors

Environment

🚫 fastlane environment 🚫 ### Stack | Key | Value | | --------------------------- | ------------------------------------------- | | OS | 10.13.5 | | Ruby | 2.4.1 | | Bundler? | true | | Git | git version 2.15.1 | | Installation Source | ~/.rvm/gems/ruby-2.4.1/bin/fastlane | | Host | Mac OS X 10.13.5 (17F77) | | Ruby Lib Dir | ~/.rvm/rubies/ruby-2.4.1/lib | | OpenSSL Version | OpenSSL 1.1.0g 2 Nov 2017 | | Is contained | false | | Is homebrew | false | | Is installed via Fabric.app | false | | Xcode Path | /Applications/Xcode.app/Contents/Developer/ | | Xcode Version | 9.4 | ### System Locale | Variable | Value | | | -------- | ----------- | - | | LANG | en_US.UTF-8 | ✅ | | LC_ALL | en_US.UTF-8 | ✅ | | LANGUAGE | | | ### fastlane files:
`./fastlane/Fastfile`
### fastlane gems

| Gem      | Version | Update-Status      |
| -------- | ------- | ------------------ |
| fastlane | 2.98.0  | 🚫 Update available |

### Loaded fastlane plugins:

| Plugin                 | Version | Update-Status |
| ---------------------- | ------- | ------------- |
| fastlane-plugin-sentry | 1.5.0   | ✅ Up-To-Date  |

Loaded gems | Gem | Version | | ------------------------- | ------------ | | did_you_mean | 1.1.0 | | executable-hooks | 1.4.2 | | bundler-unload | 1.0.2 | | rubygems-bundler | 1.4.4 | | bundler | 1.16.1 | | io-console | 0.4.6 | | CFPropertyList | 3.0.0 | | concurrent-ruby | 1.0.5 | | i18n | 0.9.1 | | minitest | 5.10.3 | | thread_safe | 0.3.6 | | tzinfo | 1.2.4 | | activesupport | 4.2.10 | | public_suffix | 2.0.5 | | addressable | 2.5.2 | | atomos | 0.1.2 | | babosa | 1.0.2 | | claide | 1.0.2 | | fuzzy_match | 2.0.4 | | nap | 1.1.0 | | cocoapods-core | 1.3.1 | | cocoapods-deintegrate | 1.0.1 | | cocoapods-downloader | 1.1.3 | | cocoapods-plugins | 1.0.0 | | cocoapods-search | 1.0.0 | | cocoapods-stats | 1.0.0 | | netrc | 0.11.0 | | cocoapods-trunk | 1.3.0 | | cocoapods-try | 1.1.0 | | colored2 | 3.1.2 | | escape | 0.0.4 | | fourflusher | 2.0.1 | | gh_inspector | 1.1.3 | | molinillo | 0.5.7 | | ruby-macho | 1.1.0 | | nanaimo | 0.2.5 | | xcodeproj | 1.5.9 | | cocoapods | 1.3.1 | | colored | 1.2 | | highline | 1.7.10 | | commander-fastlane | 4.4.6 | | declarative | 0.0.10 | | declarative-option | 0.1.0 | | unf_ext | 0.0.7.5 | | unf | 0.1.4 | | domain_name | 0.5.20180417 | | dotenv | 2.5.0 | | emoji_regex | 0.1.1 | | excon | 0.62.0 | | multipart-post | 2.0.0 | | faraday | 0.15.2 | | http-cookie | 1.0.3 | | faraday-cookie_jar | 0.0.6 | | faraday_middleware | 0.12.2 | | fastimage | 2.1.3 | | jwt | 2.1.0 | | little-plugger | 1.1.4 | | multi_json | 1.13.1 | | logging | 2.2.2 | | memoist | 0.16.0 | | os | 0.9.6 | | signet | 0.8.1 | | googleauth | 0.6.2 | | httpclient | 2.8.3 | | mime-types-data | 3.2016.0521 | | mime-types | 3.1 | | uber | 0.1.0 | | representable | 3.0.4 | | retriable | 3.1.2 | | google-api-client | 0.21.2 | | json | 2.1.0 | | mini_magick | 4.5.1 | | multi_xml | 0.6.0 | | plist | 3.4.0 | | rubyzip | 1.2.1 | | security | 0.1.3 | | naturally | 2.2.0 | | simctl | 1.6.5 | | slack-notifier | 2.3.2 | | terminal-notifier | 1.8.0 | | unicode-display_width | 1.4.0 | | terminal-table | 1.8.0 | | tty-screen | 0.6.4 | | tty-cursor | 0.5.0 | | tty-spinner | 0.8.0 | | word_wrap | 1.0.0 | | rouge | 2.0.7 | | xcpretty | 0.2.8 | | xcpretty-travis-formatter | 1.0.0 | | fastlane-plugin-sentry | 1.5.0 | | oauth | 0.5.4 | | jira-ruby | 1.5.0 |
fastlane-bot commented 6 years ago

It seems like this issue might be related to code signing :no_entry_sign:

Have you seen our new Code Signing Troubleshooting Guide? It will help you resolve the most common code signing issues :+1:

DavidWiesner commented 6 years ago

I had the same issue often in alternation with this issue #12704

elviin commented 6 years ago

I also have observed that pilot's changelog is not updated when this error occurs but the build is in Testflight uploaded and processed. It has started to appear after WWDC, before there was no such error.

I guess it happens when two or more jobs on circle CI are running in parallel.

The binary is successfully uploaded, but not submitted to beta tests.

The issue has started to appear in May already: https://blog.iota.org/trinity-mobile-beta-release-c47e8babdc28

I have contacted Apple and the support responded that:

"As far as I am aware, there is no limit to how many apps you can upload in App Store Connect. Regarding the frequency of the uploads, simply for material reasons there could be a limit, but I couldn’t advise on this as this is speculation. "

I have also contacted CircleCi. Maybe there have some proxy or balancing tool that could cause this. (Update: no it is just Apple related)

elviin commented 6 years ago

It looks like the users of the Testflight app also can see that error, so it comes from Apple's API: https://www.reddit.com/r/TheSilphRoad/comments/8ux7lx/app_download_error_ios/

alexs555 commented 6 years ago

we also have to open tab Testflight in ITConnect web-interface in order to get new build in Testflight mobile app in iOS

elviin commented 6 years ago

@alexs555 Please report it to Apple. There are some people having issues with the user notifications: the test users are not notified before the developer visits the testflight tab in the browser. Really strange.

alexs555 commented 6 years ago

@elviin I already did it.

Got an answer:

Engineering has determined that your bug report is a duplicate of another issue and will be closed. The open or closed status of the original report your bug was duplicated to appears in a text box within the bug detail section of the bug reporter user interface. For security and privacy reasons, we don't provide access to the original bug yours was duped to.

Actually, the original bug is still open

jamesmontemagno commented 6 years ago

I am experiencing this for Spaceship. Attempting to use the clean_testflight_testers. I assume it is having issues getting all testflight users.

elviin commented 6 years ago

@jamesmontemagno Please report it to Apple. Otherwise they will not pay enough attention to this issue. I'm struggling to get from Apple the information why this message comes from their app (Testflight, itunes transporter). They do not acknowledge that because I use tools like Fastlane, Circle.

jamesmontemagno commented 6 years ago

I tried again this morning and was able to run my query, however when I tried to run it for a second time I got the same thing :( will have to wait until tomorrow.

elviin commented 6 years ago

@jamesmontemagno To me it looks like a random event. Just try it for the third/fourth time. How many builds have you uploaded in your version in the Testflight? How many appstore app profiles are you managing with the apple id account?

jamesmontemagno commented 6 years ago

We have a few dozen builds. We have about 9000 beta testers though and that is where it was getting caught up at.

elviin commented 6 years ago

@jamesmontemagno I am trying to understand the reasons for the rate limits. If that is related to the number of testers/builds/managed accounts.

jamesmontemagno commented 6 years ago

It was when I called: Spaceship::TestFlight::Tester.all(app_id: app_id)

elviin commented 6 years ago

I have made a workaround for that, but it is not a proper solution:

I have added the error handling:

begin
  pilot(...)
rescue => pilotError

  # code that deals with some errors
  print "[ERROR]: #{pilotError.message}\n"
  print pilotError.backtrace.join("\n\t")

  # The following error symptoms are not breaking the upload to the Tesftlight
  errorSymptoms = ["HTTP ERROR: 403", "Error 403", "Rate limit has been exceeded for:", "description length:"]

  # Does the message contain any of the symptoms?
  selected = errorSymptoms.select do |symptom| pilotError.message.include?(symptom) end

  if(selected.count.positive?)
    # The error is not breaking the build. Notify the testers and try to upload 
    # the symbols to sentry.

      # continue with reporting/symbol uploading etc
  end

  # The error is severe. Do not try to upload the symbols or to report it
  # to the testers.

else
   # do something that can run only if there is no error
   # continue with reporting/symbol uploading etc 
end
fastlane-bot commented 6 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment :+1:

keith commented 6 years ago

Still an issue

-- Keith Smiley

On Aug 25, 2018, at 10:32, fastlane bot notifications@github.com wrote:

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

bpollock-vida commented 6 years ago

Experienced this today after fastlane was trying to set the Provisioning Profile, build did not upload to iTunes connect. It is not uncommon for our once daily cron jobs in travis to fail once a week due to this, but it is uncommon a manual build fails for this reason. We do not have tons of beta tester, profiles, concurrent builds <3, etc.

Fastlane version: 2.79.0

/Users/travis/.rvm/gems/ruby-2.4.3/gems/fastlane-2.79.0/spaceship/lib/spaceship/test_flight/client.rb:287:in `handle_response': [!] Rate limit has been exceeded for: testflight|default|APPLE_CONNECT:10464547290 (Spaceship::UnexpectedResponse)

keith commented 6 years ago

Saw this today with 2.104.0 as well

fastlane-bot commented 6 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment :+1:

keith commented 6 years ago

Still getting this

bpollock-vida commented 6 years ago

Failed due to this reason just today: Rate limit has been exceeded for: testflight|default|APPLE_CONNECT

https://github.com/fastlane/fastlane/issues/12845
bpollock-vida commented 6 years ago

ring, ring, is this thing on? I get this like every day when I'm trying to deploy a build to apple.

bpollock-vida commented 6 years ago

Every time I run fastlane (2.107.0) right now I run into this error:


[09:56:28]: All required keys, certificates and provisioning profiles are installed 🙌
[09:56:28]: Setting Provisioning Profile type to 'app-store'
[09:56:29]: -------------------
[09:56:29]: --- Step: is_ci ---
[09:56:29]: -------------------
+------------------------------------+---------------------------------------------------+
|                                      Lane Context                                      |
+------------------------------------+---------------------------------------------------+
| DEFAULT_PLATFORM                   | ios                                               |
| PLATFORM_NAME                      | ios                                               |
| LANE_NAME                          | ios deploy                                        |
| SIGH_PROFILE_TYPE                  | app-store                                         |
| MATCH_PROVISIONING_PROFILE_MAPPING | {"<redacted>"=>"match AppStore <redacted>"} |
+------------------------------------+---------------------------------------------------+
[09:56:29]: Rate limit has been exceeded for: testflight|default|APPLE_CONNECT:10464547290

+------+----------------------------+-------------+
|                fastlane summary                 |
+------+----------------------------+-------------+
| Step | Action                     | Time (in s) |
+------+----------------------------+-------------+
| 1    | Verifying fastlane version | 0           |
| 2    | default_platform           | 0           |
| 3    | is_ci                      | 0           |
| 4    | match                      | 2           |
| 5    | is_ci                      | 0           |
+------+----------------------------+-------------+

[09:56:29]: fastlane finished with errors

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

➡️  Rate limit has been exceeded for: testflight|default|APPLE_CONNECT
    https://github.com/fastlane/fastlane/issues/12845 [open] 23 💬
    15 hours ago

🔗  You can ⌘ + double-click on links to open them directly in your browser.
/Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/client.rb:330:in `handle_response': [!] Rate limit has been exceeded for: testflight|default|APPLE_CONNECT:10464547290 (Spaceship::UnexpectedResponse)

    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/client.rb:31:in `get_build_trains'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/build_trains.rb:16:in `all'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/build.rb:108:in `all'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/build.rb:119:in `all_processing_builds'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/tunes/application.rb:321:in `all_processing_builds'
    from Fastfile:81:in `fetch_latest_build_version'
    from Fastfile:97:in `next_version_and_build_number'
    from Fastfile:56:in `block (2 levels) in parsing_binding'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/lane.rb:33:in `call'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
    from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
    from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
    from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
    from /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/commands_generator.rb:333:in `run'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/fastlane/lib/fastlane/cli_tools_distributor.rb:108:in `take_off'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/bin/fastlane:23:in `<top (required)>'
    from /Users/bricepollock/.gem/ruby/2.3.0/bin/fastlane:22:in `load'
    from /Users/bricepollock/.gem/ruby/2.3.0/bin/fastlane:22:in `<main>'
fastlane-bot commented 5 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment :+1:

DavidWiesner commented 5 years ago

Still an issue in latest version

janpio commented 5 years ago

As @elviin said above, this error is coming from Apple's server in a pretty unexpected way as there doesn't seem to be any specific reason to hit the rate limiting. So there is no real way to fix this (yet).


One thing I am not clear about yet, what exactly are the negative results of this happening? @elviin mentioned the testflight release notes not being uploaded, anything else?

@bpollock-vida What is the Fastfile being executed in https://github.com/fastlane/fastlane/issues/12845#issuecomment-433474967? It seems is_ci is successful, and then something causes the testflight rate limiting which makes no real sense as there should be no additional action executed, correct?


In the background spaceship, our library for communication with Apple's servers, is handling the requests to Apple's servers, including the ones for Testflight.

It would be helpful if you could check your spaceship logfiles or even create a Charles session of the traffic when this occurs (Send them to piotrowski@gmail.com and mention this issue if you don't just want to post them publicly here, which makes a lot of sense...)

If we collect some of those log files or Charles sessions, we will be able to understand better what spaceship is doing before you all get this error. This could enable us to maybe identify the culprit and fix it - and at least allow us to implement a better error message.

bpollock-vida commented 5 years ago

Hey @janpio I'm glad someone has finally responded.

The affect is my scheduled daily builds on travis can fail 50% of the days of the week some weeks. It also means for a period of time that can exceed 30min I may be unable to deploy with my current script (even locally) and will have to modify my fast file to ignore the offending fastlane operations to unblock.

There is one simple solution that would be to try to implement a retry and backoff, although if this happens regularly over a long window that might not be effective.

The offender that hits the rate limiting is at the top of the backtrace in 'all_processing_builds'.

/Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/client.rb:330:in `handle_response': [!] Rate limit has been exceeded for: testflight|default|APPLE_CONNECT:10464547290 (Spaceship::UnexpectedResponse)

    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/client.rb:31:in `get_build_trains'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/build_trains.rb:16:in `all'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/build.rb:108:in `all'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/test_flight/build.rb:119:in `all_processing_builds'
    from /Library/Ruby/Gems/2.3.0/gems/fastlane-2.107.0/spaceship/lib/spaceship/tunes/application.rb:321:in `all_processing_builds'
    from Fastfile:81:in `fetch_latest_build_version'
    from Fastfile:97:in `next_version_and_build_number'

Code:

  def fetch_latest_build_version
    Spaceship::Tunes.login("<redacted>")
    app = Spaceship::Tunes::Application.find('<redacted>')
    processing_builds = app.all_processing_builds
    processed_builds = app.builds
    most_recent_build = (processing_builds + processed_builds).sort_by {|build| build.upload_date}.last
    latest_version = Versionomy.parse(most_recent_build.train_version)
    latest_build_number = latest_testflight_build_number(version: latest_version.to_s)

    return latest_version, latest_build_number
  end
janpio commented 5 years ago

@bpollock-vida So this fetch_latest_build_version is executed after is_ci and then failing? What are you doing with these 2 numbers so it can fail a build? What is the significance of this "a period of time that can exceed 30min"? Is access blocked so long?


There is one simple solution that would be to try to implement a retry and backoff, although if this happens regularly over a long window that might not be effective.

Does anyone know how long the rate limiting is in effect? Because we could catch this response from Testflight and handle it - but the question is how. If the effect stays for ~30 minutes, a retry of course won't work.

Anyone know the significance of the value after APPLE_CONNECT:?

The most useful thing here really would be spaceship logs or a Charles session, so we can really understand what is causing the rate limiting: https://github.com/fastlane/fastlane/issues/12845#issuecomment-444164180

bpollock-vida commented 5 years ago

_So this fetch_latest_build_version is executed after isci and then failing? is_ci is the lane we use for our travis deploys. On execution, we call the fetch_latest_build_version function to get prior build information so we can increment the build and/or version. Apple does not allow duplicate uploads of the same build-version combination so this is a requirement for automatic builds.

What are you doing with these 2 numbers so it can fail a build? If you look at the stack trace and code, it is the 'all_processing_builds' method on the fastlane supplied spaceship 'app' that throws an error that fails the build. It does not appear to be my specific Fastfile.

What is the significance of this "a period of time that can exceed 30min"? Is access blocked so long? This is my anecdotal description of the behavior I've observed. Yes, access can be blocked for a long time.

Because we could catch this response from Testflight and handle it Definitely one thing that can be done is provide better logging in or from Spaceship so we get an actionable error message with more information.

I will try to capture the spaceship logs when experiencing this failure.

janpio commented 5 years ago

I know what actual code is crashing.

But the method all_processing_builds mentioned there one only appears because the "hey, you can't make more requests because you triggered the rate limiting" response does not output a nice error message yet. I can add this handling in a few minutes - but the only thing I can make it say is "no idea why this happened, but you are rate limited now. try again in half an hour or so.". And that is not helpful at all. So I won't do that before we don't have more information.

That is why I want to know what your lane is doing before it fails for this request. Something has to make your account go over this rate limit on Apple's server.

Spaceship logging with 2.109.x should be pretty extensive, but a Charles Web Proxy session would still be better as it contains a lot more information (logging compete http requests to a flat file unfortunately doesn't scale very well),

bpollock-vida commented 5 years ago

Attached the relevant code, however, let me provide a summary:

Since there is very little happening before the spaceship call, it must be match that is querying so much to produce the rate limiting?

We run the 'test' lane on every build, one other thought is if 'scan' somehow is hitting apple servers that would build up a lot more requests than match happening once daily before the build version request. However, I don't see any evidence that is happening.

Test code:

  desc "Runs all the tests"
  lane :test do
    scan(
      workspace: "<redacted>.xcworkspace",
      scheme: "<redacted>",
      devices: ["iPhone 6"],
      clean: true,
      formatter: "./fastlane/xcpretty_formatter.rb"
    )
  end

Deploy Code:

# travis calls...
fastlane deploy 

# ...our deploy lane:
  desc "Build and deploy to both Testflight and Crashlytics"
  desc "Also ensures an up to date provisioning profile for crashlytics"
  lane :deploy do |options|
    version, build_number = next_version_and_build_number(options)

    deploy_testflight
    deploy_crashlytics

    app_version = "v#{version.to_s}-#{build_number}"
    add_git_tag(tag: app_version)
    push_git_tags

    slack(
      slack_url: "<redacted>",
      message: "Successfully deployed iOS to Testflight and Crashlytics",
      channel: "<redacted>",
      success: true,
      payload: {
        'Version' => "v#{version.to_s} (#{build_number})",
        "Build Date" => Time.new.to_s,
        "Branch" => git_branch
      },
      default_payloads: [:last_git_commit_hash]
    )
  end

  # Must be logged in with a match profile
  # NOTE: On travis we hit the else case in this function  
  def next_version_and_build_number(options = nil)
    if options[:version_number]
      next_version = options[:version_number]
      next_build_number = (options[:build_number] ? options[:build_number] : 1)

    else 
      ci_match_helper(type: "appstore")
      next_version, latest_build_number = fetch_latest_build_version
      next_build_number = latest_build_number + 1

      if should_bump_version
        next_version = next_version.bump(:tiny)
        next_build_number = 1
      end
    end

    increment_version_number(version_number: next_version.to_s)
    increment_build_number(build_number: next_build_number)

    return next_version, next_build_number
  end

  def ci_match_helper(**params)
    if is_ci
      match(**params, keychain_name: <redacted>)
    end

    match(**params)
  end

  def fetch_latest_build_version
    Spaceship::Tunes.login("<redacted>")
    app = Spaceship::Tunes::Application.find('<redacted>')
    processing_builds = app.all_processing_builds
    processed_builds = app.builds
    most_recent_build = (processing_builds + processed_builds).sort_by {|build| build.upload_date}.last
    latest_version = Versionomy.parse(most_recent_build.train_version)
    latest_build_number = latest_testflight_build_number(version: latest_version.to_s)

    return latest_version, latest_build_number
  end
janpio commented 5 years ago

Thanks. That really doesn't look like anything should trigger any relevant requests here. What is match doing according to your output? Usually it should be happy with the certificates from the git repo and just install those, right?

scan doesn't hit any APIs at all, and match talks to the Apple Developer Portal, not App Store Connect where Testflight lives - so different APIs.

When you hit the rate limiting, you can still run match afterwards, right? Only commands that are Testflight related will trigger the error, correct?

We will need to see some spaceship logs to be able to understand what is going on here: https://github.com/fastlane/fastlane/issues/12845#issuecomment-444164180 Both for understanding what is causing this and implementing proper error handling.

bpollock-vida commented 5 years ago

Looking at the logging I captured above, it looks like match says everything is cool: [09:56:28]: All required keys, certificates and provisioning profiles are installed 🙌 [09:56:28]: Setting Provisioning Profile type to 'app-store'

When you hit the rate limiting, you can still run match afterwards, right? Only commands that are Testflight related will trigger the error, correct? Yeah its just the getting the build version details where we fail every time.

We are trying to set it up so we can capture these spaceship logs more easily when we see this issue. Will update when we capture them. Unless one of the many others experiencing this issue can help and post theirs. :)

bpollock-vida commented 5 years ago

We were able to get spaceship logs today and pursued some investigation. We ruled out that our 'sort_by' function was the causing the problem and narrowed it down to #all_processing_builds and #builds.

There appears to be several challenges:

Spaceship solution:

  1. Provide a function that provides all builds without filtering
  2. Use some sort of caching to avoid the duplicated requests for each train

A work around:

  1. In the Fastfile don't use build numbers only trains. Use the app.trains call, then convert train strings to a number to determine last published train. (results in 1 network request)
    1. In the Fastfile, get all trains and query for build information in the Fastfile for each to find 'last upload date'. (results in N network requests which seems to be below the rate limiting)

spaceship logs.zip

janpio commented 5 years ago

Going from your erroring log, we are talking about ~140 requests in ~2 minutes. Hm, that is certainly a lot, but also not a DDoS. Let's see what all the other people in this issue will report back.


Now to your specific problem: Unless I am mistaken app.all_processing_builds is a just a filtered subset of app.builds: https://github.com/fastlane/fastlane/blob/cd88359fa9b6772f91a31a290f8f3c790a716dc0/spaceship/lib/spaceship/tunes/application.rb#L320-L322 https://github.com/fastlane/fastlane/blob/cd88359fa9b6772f91a31a290f8f3c790a716dc0/spaceship/lib/spaceship/tunes/application.rb#L350-L354 https://github.com/fastlane/fastlane/blob/cd88359fa9b6772f91a31a290f8f3c790a716dc0/spaceship/lib/spaceship/test_flight/build.rb#L118-L120 https://github.com/fastlane/fastlane/blob/cd88359fa9b6772f91a31a290f8f3c790a716dc0/spaceship/lib/spaceship/test_flight/build.rb#L107-L110

Also, latest (used as Spaceship::TestFlight::Build.latest(app_id: app_id, platform: platform)) might be what you actually want in your Fastfile: https://github.com/fastlane/fastlane/blob/cd88359fa9b6772f91a31a290f8f3c790a716dc0/spaceship/lib/spaceship/test_flight/build.rb#L127-L129

(But again, this is just from a short look - we should possibly split this discussion in a new issue if we want to continue that.)


Better question: How should we handle this timeout? Now, with a log in hand, I created #13841 to implement proper error handling. But right now I don't really know what we could do about it. Please go to the issue #13841 and post your suggestions!

bpollock-vida commented 5 years ago

Code does look like builds returns all unfiltered, going to give that a shot to move from 2N to N calls. Looks like documentation could have helped here to understand how the build functions work.

Still, if I call that method too fast though (3x in 3-4 min), I'll run into the rate limiting. I doubt Spaceship::TestFlight::Build.latest will create less requests.

bpollock-vida commented 5 years ago

Is there a way I can catch this error from spaceship? being-rescue doesn't seem to work because Spaceship is another process?

janpio commented 5 years ago

Feel free to submit a PR to spaceship documentation.

Spaceship is normal ruby code used like everything else. Nothing special in there (afaik).

bpollock-vida commented 5 years ago

Ah, here is the documentation that says it is all processed builds: https://www.rubydoc.info/gems/spaceship/Spaceship/Tunes/Application

builds(platform: nil) ⇒ Object

Get all builds that are already processed for all build trains You can either use the return value (array) or pass a block.

janpio commented 5 years ago

That is for spaceship 1.0.0 which is 2 years old: https://rubygems.org/gems/spaceship/versions/1.0.0 Spaceship is not updated as a standalone package any more.

bpollock-vida commented 5 years ago

Is there any documentation for spaceship anymore?

Can we expose Spaceship::TestFlight::Client.get_build_trains()? The only trains calls that exist today make the 1 request to get trains and then N requests for the build info on each train

janpio commented 5 years ago

https://github.com/fastlane/fastlane/tree/master/spaceship + https://github.com/fastlane/fastlane/tree/master/spaceship/docs

For your other question, please best open a new issue. I don't want to spam all those poor participants here with further discussion about this - but it is a good thing to solve.

bpollock-vida commented 5 years ago

I don't think this is spamming. There has been no solution for this issue yet in this thread.

The only provided methods (all or latest) make 1 request for all trains and then 1 request for each train (N) which can still lead to rate limiting if you run fast lane too quickly (even 10+ minutes apart).

The only true solution I've seen yet is to expose the spaceship function to get all trains (Spaceship::TestFlight::Client.get_build_trains()) without also getting build info for each train (N).

janpio commented 5 years ago

Not everybody here using the same spaceship methods as you are. The discussion here is about how to handle the testflight|default|APPLE_CONNECT problem in general. One of the underlying problems might be that some methods create a lot of requests and could be built in a different way - if that is the case, please create a new issue for this specific problem in the code.

fastlane-bot commented 5 years ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment :+1:

DavidWiesner commented 5 years ago

There is still no solution in latest version. Still getting this error

bpollock-vida commented 5 years ago

@DavidWiesner can you provide the same details I have by capturing spaceship logs or code. That way we can see if the same fast lane code is generating this issue for you. My work around was to only call one builds method to reduce the call overhead.

i.e. just calling
    processed_builds = app.builds

whereas before I called
    processing_builds = app.all_processing_builds
    processed_builds = app.builds
scorpion35 commented 5 years ago

I am also getting this error - Message: Rate limit has been exceeded for: itunes-connect|nonauth_url_spamControl|<my_ip_address>

I am trying to get a list of all users and their permissions using Spaceship

all_users = Spaceship::Tunes::Members.all
user = all_users[0] # for example
account_permissions = {}
account_permissions[:name] = teamname
account_permissions[:islive] = !user.not_accepted_invitation
account_permissions[:permissions] = user.roles
account_permissions[:apps] = user.has_all_apps ? ["all"] : user.selected_apps.map { |a| a.name if !a.nil? }
account_permissions[:lastupdated] = Time.now.strftime("%Y-%m-%d")

My code gets the details for first 15 or so users, and fails after with the above error message. Was able to find this information - https://stackoverflow.com/a/41377650/1946418; but not sure how true that is. The number seems too low?

This is my Fastlane's version - fastlane 2.113.0

janpio commented 5 years ago

@scorpion35 You are the first person to report the Rate limit has been exceeded for: itunes-connect|... error message here - so this is something different than what the original issue is about. Please create a new issue. Thank you.