Class: FastlaneCore::BuildWatcher
- Inherits:
-
Object
- Object
- FastlaneCore::BuildWatcher
- Defined in:
- fastlane_core/lib/fastlane_core/build_watcher.rb
Class Method Summary collapse
Class Method Details
.wait_for_build_processing_to_be_complete(app_id: nil, platform: nil, train_version: nil, app_version: nil, build_version: nil, poll_interval: 10, strict_build_watch: false, return_when_build_appears: false, return_spaceship_testflight_build: true, select_latest: false) ⇒ Object
Returns The build we waited for. This method will always return a build.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'fastlane_core/lib/fastlane_core/build_watcher.rb', line 9 def wait_for_build_processing_to_be_complete(app_id: nil, platform: nil, train_version: nil, app_version: nil, build_version: nil, poll_interval: 10, strict_build_watch: false, return_when_build_appears: false, return_spaceship_testflight_build: true, select_latest: false) # Warn about train_version being removed in the future if train_version UI.deprecated(":train_version is no longer a used argument on FastlaneCore::BuildWatcher. Please use :app_version instead.") app_version = train_version end # Warn about strict_build_watch being removed in the future if strict_build_watch UI.deprecated(":strict_build_watch is no longer a used argument on FastlaneCore::BuildWatcher.") end platform = Spaceship::ConnectAPI::Platform.map(platform) if platform UI.("Waiting for processing on... app_id: #{app_id}, app_version: #{app_version}, build_version: #{build_version}, platform: #{platform}") showed_info = false loop do matched_build = matching_build(watched_app_version: app_version, watched_build_version: build_version, app_id: app_id, platform: platform, select_latest: select_latest) if matched_build.nil? && !showed_info UI.important("Read more information on why this build isn't showing up yet - https://github.com/fastlane/fastlane/issues/14997") showed_info = true end report_status(build: matched_build) # Processing of builds by AppStoreConnect can be a very time consuming task and will # block the worker running this task until it is completed. In some cases, # having a build resource appear in AppStoreConnect (matched_build) may be enough (i.e. setting a changelog) # so here we may choose to skip the full processing of the build if return_when_build_appears is true if matched_build && (return_when_build_appears || matched_build.processed?) if return_spaceship_testflight_build return matched_build.to_testflight_build else return matched_build end end sleep(poll_interval) end end |