fastlane: [pilot] The resource 'betaAppReviewSubmissions' does not allow 'DELETE'
New Issue Checklist
- Updated fastlane to the latest version
 - I read the Contribution Guidelines
 - I read docs.fastlane.tools
 - I searched for existing GitHub issues
 
Issue Description
While submitting a binary to App Store Connect, running our deploy lane, an error occurs:
The resource 'betaAppReviewSubmissions' does not allow 'DELETE'
Which causes everything to halt.
Command executed
While "moving" an existing item in Beta Testing to Submission "DELETE" command fails.
[β ] π [β ] π [β Ή] π [β Έ] π [β Ό] π [β ΄] π [β ¦] π [β §] π [β ] π [β ] π [β ] π [β ] π [β Ή] π [β Έ] π [β Ό] π [β] π 
[01:15:03]: Loading from './fastlane/.env.release'
+-------------------------------------------+---------+---------------------------------+
|                                     Used plugins                                      |
+-------------------------------------------+---------+---------------------------------+
| Plugin                                    | Version | Action                          |
+-------------------------------------------+---------+---------------------------------+
| fastlane-plugin-unzip                     | 1.0.1   | unzip                           |
| fastlane-plugin-redacted-compa            | 0.1.0   | get_github_pr_numbers           |
|                                           |         | get_version_number              |
|                                           |         | create_github_milestone         |
|                                           |         | verify_jira_ticket_status       |
|                                           |         | jira_tickets_from_git           |
|                                           |         |                                 |
| fastlane-plugin-firebase_app_distribution | 0.2.4   | firebase_app_distribution_login |
|                                           |         | firebase_app_distribution       |
| fastlane-plugin-ios_dependency_parser     | 1.0.0   | ios_dependency_parser           |
+-------------------------------------------+---------+---------------------------------+
[01:15:05]: Sending anonymous analytics information
[01:15:05]: Learn more at https://docs.fastlane.tools/#metrics
[01:15:05]: No personal or sensitive data is sent.
[01:15:05]: You can disable this by adding `opt_out_usage` at the top of your Fastfile
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:05]: ----------------------------------------
[01:15:05]: --- Step: Verifying fastlane version ---
[01:15:05]: ----------------------------------------
[01:15:05]: Your fastlane version 2.177.0 matches the minimum requirement of 1.105.2  β
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:05]: ------------------------------
[01:15:05]: --- Step: default_platform ---
[01:15:05]: ------------------------------
[01:15:05]: Driving the lane 'ios deploy' π
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:05]: -------------------
[01:15:05]: --- Step: is_ci ---
[01:15:05]: -------------------
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:05]: ---------------------------------------
[01:15:05]: --- Step: app_store_connect_api_key ---
[01:15:05]: ---------------------------------------
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:06]: ----------------------
[01:15:06]: --- Step: download ---
[01:15:06]: ----------------------
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:07]: -----------------------------
[01:15:07]: --- Step: setup_circle_ci ---
[01:15:07]: -----------------------------
[01:15:07]: Skipping Log Path setup as FL_OUTPUT_DIR is unset
[01:15:07]: Creating temporary keychain: "fastlane_tmp_keychain".
[01:15:07]: $ security list-keychains -d user
[01:15:07]: βΈ "/Users/distiller/Library/Keychains/fastlane_tmp_keychain-db"
[01:15:07]: Found keychain '/Users/distiller/Library/Keychains/fastlane_tmp_keychain-db' in list-keychains, adding to search list skipped
[01:15:07]: Enabling match readonly mode.
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:07]: --------------------------------------------------
[01:15:07]: --- Step: Switch to ios sync_certificates lane ---
[01:15:07]: --------------------------------------------------
[01:15:07]: Cruising over to lane 'ios sync_certificates' π
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:07]: -------------------
[01:15:07]: --- Step: match ---
[01:15:07]: -------------------
+--------------------------------+-------------------------------------------------------------------------------------------+
|                                                 Summary for match 2.177.0                                                  |
+--------------------------------+-------------------------------------------------------------------------------------------+
| app_identifier                 | ["com.companyname.projectarino", "com.companyname.notificationserviceextension"]          |
| api_key                        | ********                                                                                  |
| type                           | appstore                                                                                  |
| readonly                       | true                                                                                      |
| generate_apple_certs           | true                                                                                      |
| skip_provisioning_profiles     | false                                                                                     |
| username                       | ***********************                                                                   |
| storage_mode                   | git                                                                                       |
| git_url                        | git@github.com:secret/git/repo/url                                                        |
| git_branch                     | master                                                                                    |
| shallow_clone                  | false                                                                                     |
| clone_branch_directly          | false                                                                                     |
| keychain_name                  | fastlane_tmp_keychain                                                                     |
| force                          | false                                                                                     |
| force_for_new_devices          | false                                                                                     |
| skip_confirmation              | false                                                                                     |
| skip_docs                      | false                                                                                     |
| platform                       | ios                                                                                       |
| derive_catalyst_app_identifier | false                                                                                     |
| fail_on_name_taken             | false                                                                                     |
| skip_certificate_matching      | false                                                                                     |
| skip_set_partition_list        | false                                                                                     |
| verbose                        | false                                                                                     |
+--------------------------------+-------------------------------------------------------------------------------------------+
[01:15:07]: Cloning remote git repo...
[01:15:07]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[01:15:09]: Checking out branch master...
[01:15:09]: π  Successfully decrypted certificates repo
[01:15:09]: Installing certificate...
[01:15:10]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning fastlane_tmp_keychain` to get this output.
This Stack Overflow thread has more information: https://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)
[01:15:10]: Setting key partition list... (this can take a minute if there are a lot of keys installed)
[01:15:10]: security: SecItemCopyMatching: The specified item could not be found in the keychain.
[01:15:10]: Setting key partition list... (this can take a minute if there are a lot of keys installed)
<PROVISIONING PROFILES>
[01:15:10]: All required keys, certificates and provisioning profiles are installed π
[01:15:10]: Setting Provisioning Profile type to 'app-store'
[01:15:10]: Cruising back to lane 'ios deploy' π
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
[01:15:10]: -----------------
[01:15:10]: --- Step: gym ---
[01:15:10]: -----------------
[01:15:11]: Resolving Swift Package Manager dependencies...
<REDACTED GYM OUTPUT>
[01:15:55]: $ set -o pipefail && xcodebuild -workspace ./Project.xcworkspace -scheme SCHEME -configuration Release -destination 'generic/platform=iOS' -archivePath /Users/distiller/Library/Developer/Xcode/Archives/2021-03-17/<REDACTED>\ 2021-03-17\ 01.15.55.xcarchive archive | tee /Users/distiller/Library/Logs/gym/REDACTED.log | xcpretty
<COMPILING SOURCE>
[01:36:54]: βΈ Linking <REDACTED>
<COMPILING XIB>
[01:39:02]: βΈ Processing Info.plist
[01:39:02]: βΈ Copying /Users/distiller/Library/Developer/Xcode/DerivedData/dfbufodpnqqnnwfesbguxqdynefb/Build/Intermediates.noindex/ArchiveIntermediates/App/BuildProductsPath/Release-iphoneos/NotificationServiceExtension.appex
[01:39:02]: βΈ     skipping copy phase strip, binary is code signed: /Users/distiller/Library/Developer/Xcode/DerivedData/dfbufodpnqqnnwfesbguxqdynefb/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/NotificationServiceExtension.appex/NotificationServiceExtension
[01:39:02]: βΈ Generating 'App.app.dSYM'
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/googlemac_iPhone_iOSGuard_iosguard_no_breakpad-34VQINNO1FFNQ.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/googlemac_iPhone_recaptcha_recaptcha_error-2FAJP848PPJ5M.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/googlemac_iPhone_recaptcha_twofactor_objc_proto-3DU2DBDTLP9YI.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/FBLPromises-3HC5GVPSKGZUV.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/googlemac_iPhone_recaptcha_recaptcha_action_type-YVJER5KSKNA0.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/googlemac_iPhone_recaptcha_mobile_client_objc_proto-2JVL16YUET3CC.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/third_party_objective_c_gtm_session_fetcher_GTMSessionFetcher_Core-1LH56LXRRJ90J.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/Foundation-OIF36D0ZWUYU.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/Dispatch-2MAX3VAF9W7SL.pcm: No such file or directory
[01:39:11]: βΈ     /var/netboot/workspace/a68a29d8cae284340117191cc0abc9da81a5_550541_24179/tmp/swift_module_cache.uxUxVS/38F4VT292GLJO/UIKit-3STJALP8S84YZ.pcm: No such file or directory
<REDACTED>
[01:39:38]: βΈ Touching <REDACTED>.app
[01:39:40]: βΈ Archive Succeeded
[01:39:40]: Generated plist file with the following values:
<REDACTED>
[01:39:40]: $ /usr/bin/xcrun /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/6y/gy9gggt14379c_k39vwb50lc0000gn/T/gym_config20210317-700-v120nd.plist' -archivePath /Users/distiller/Library/Developer/Xcode/Archives/2021-03-17/<REDACTED>\ 2021-03-17\ 01.15.55.xcarchive -exportPath '/var/folders/6y/gy9gggt14379c_k39vwb50lc0000gn/T/gym_output20210317-700-1awv5qm' 
[01:40:46]: Mapping dSYM(s) using generated BCSymbolMaps
<REDACTED>
[01:41:02]: Compressing 9 dSYM(s)
<REDACTED>
[01:41:10]: Successfully exported and compressed dSYM file
[01:41:10]: Successfully exported and signed the ipa file:
[01:41:10]: /Users/distiller/project/APP.ipa
[01:41:10]: ----------------------------------------------------
[01:41:10]: --- Step: Switch to ios create_release_note lane ---
[01:41:10]: ----------------------------------------------------
[01:41:10]: Cruising over to lane 'ios create_release_note' π
[01:41:11]: ------------------------
[01:41:11]: --- Step: git_branch ---
[01:41:11]: ------------------------
[01:41:11]: ----------------------------------------
[01:41:11]: --- Step: changelog_from_git_commits ---
[01:41:11]: ----------------------------------------
[01:41:11]: Collecting the last few Git commits...
[01:41:11]: Cruising back to lane 'ios deploy' π
[01:41:11]: -------------------
[01:41:11]: --- Step: pilot ---
[01:41:11]: -------------------
[01:41:11]: Creating authorization token for App Store Connect API
[01:41:17]: Ready to upload new build to TestFlight....
[01:41:21]: Going to upload updated app to App Store Connect
[01:41:21]: This might take a few minutes. Please don't interrupt the script.
[01:43:06]: iTunes Transporter successfully finished its job
[01:43:06]: --------------------------------------------------------------------
[01:43:06]: Successfully uploaded package to App Store Connect. It might take a few minutes until it's visible online.
[01:43:06]: --------------------------------------------------------------------
[01:43:06]: Successfully uploaded the new binary to App Store Connect
[01:43:06]: If you want to skip waiting for the processing to be finished, use the `skip_waiting_for_build_processing` option
[01:43:06]: Note that if `skip_waiting_for_build_processing` is used but a `changelog` is supplied, this process will wait for the build to appear on AppStoreConnect, update the changelog and then skip the remaining of the processing steps.
[01:43:06]: Waiting for processing on... <REDACTED VERSION INFO>
[01:43:06]: Read more information on why this build isn't showing up yet - https://github.com/fastlane/fastlane/issues/14997
[01:43:06]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:43:37]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:44:08]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:44:38]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:45:09]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:45:39]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:46:10]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:46:40]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:47:11]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:47:41]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:48:12]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:48:43]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:49:13]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:49:44]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:50:14]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:50:45]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:51:16]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:51:46]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:52:16]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:52:47]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
[01:53:17]: Waiting for App Store Connect to finish processing the new build 
[01:53:49]: Waiting for App Store Connect to finish processing the new build 
[01:54:20]: Waiting for App Store Connect to finish processing the new build 
[01:54:51]: Waiting for App Store Connect to finish processing the new build 
[01:55:22]: Waiting for App Store Connect to finish processing the new build 
[01:55:53]: Waiting for App Store Connect to finish processing the new build 
[01:56:24]: Waiting for App Store Connect to finish processing the new build 
[01:56:54]: Waiting for App Store Connect to finish processing the new build 
[01:57:25]: Waiting for App Store Connect to finish processing the new build 
[01:57:57]: Waiting for App Store Connect to finish processing the new build
[01:58:28]: Waiting for App Store Connect to finish processing the new build 
[01:58:58]: Waiting for App Store Connect to finish processing the new build 
[01:59:29]: Waiting for App Store Connect to finish processing the new build 
[02:00:00]: Waiting for App Store Connect to finish processing the new build 
[02:00:31]: Waiting for App Store Connect to finish processing the new build 
[02:01:03]: Waiting for App Store Connect to finish processing the new build 
[02:01:33]: Waiting for App Store Connect to finish processing the new build 
[02:02:04]: Waiting for App Store Connect to finish processing the new build 
[02:02:36]: Waiting for App Store Connect to finish processing the new build 
[02:03:06]: Waiting for App Store Connect to finish processing the new build 
[02:03:37]: Waiting for App Store Connect to finish processing the new build 
[02:04:09]: Waiting for App Store Connect to finish processing the new build 
[02:04:40]: Waiting for App Store Connect to finish processing the new build 
[02:05:11]: Waiting for App Store Connect to finish processing the new build 
[02:05:42]: Waiting for App Store Connect to finish processing the new build 
[02:06:13]: Waiting for App Store Connect to finish processing the new build 
[02:06:45]: Waiting for App Store Connect to finish processing the new build 
[02:07:16]: Waiting for App Store Connect to finish processing the new build 
[02:07:47]: Waiting for App Store Connect to finish processing the new build 
[02:08:18]: Waiting for App Store Connect to finish processing the new build 
[02:08:49]: Waiting for App Store Connect to finish processing the new build 
[02:09:20]: Waiting for App Store Connect to finish processing the new build 
[02:09:51]: Waiting for App Store Connect to finish processing the new build 
[02:10:22]: Waiting for App Store Connect to finish processing the new build 
[02:10:54]: Waiting for App Store Connect to finish processing the new build 
[02:11:25]: Waiting for App Store Connect to finish processing the new build 
[02:11:56]: Waiting for App Store Connect to finish processing the new build 
[02:12:27]: Waiting for App Store Connect to finish processing the new build 
[02:12:58]: Waiting for App Store Connect to finish processing the new build 
[02:13:29]: Waiting for App Store Connect to finish processing the new build 
[02:14:00]: Waiting for App Store Connect to finish processing the new build 
[02:14:31]: Waiting for App Store Connect to finish processing the new build 
[02:15:02]: Waiting for App Store Connect to finish processing the new build 
[02:15:33]: Waiting for App Store Connect to finish processing the new build 
[02:16:04]: Waiting for App Store Connect to finish processing the new build 
[02:16:35]: Waiting for App Store Connect to finish processing the new build 
[02:17:06]: Waiting for App Store Connect to finish processing the new build 
[02:17:37]: Waiting for App Store Connect to finish processing the new build 
[02:18:08]: Waiting for App Store Connect to finish processing the new build 
[02:18:39]: Waiting for App Store Connect to finish processing the new build 
[02:19:10]: Successfully finished processing the build
[02:19:11]: Successfully set the changelog for build
[02:19:13]: Another build is already in review. Going to remove that build and submit the new one.
[02:19:13]: Deleting beta app review submission for build: WXYZ
[02:19:27]: Error raised while executing lane: deploy, exception: The given operation is not allowed - The resource 'betaAppReviewSubmissions' does not allow 'DELETE'. Allowed operations are: GET_COLLECTION, GET_INSTANCE, CREATE
[02:19:27]: -------------------
[02:19:27]: --- Step: is_ci ---
[02:19:27]: -------------------
[02:19:27]: ------------------------
[02:19:27]: --- Step: git_branch ---
[02:19:27]: ------------------------
[02:19:27]: -------------------
[02:19:27]: --- Step: slack ---
[02:19:27]: -------------------
[02:19:27]: Successfully sent Slack notification
Looking for related GitHub issues on fastlane/fastlane...
β‘οΈ  Running xcrun extractLocStrings as part of Fastlane causes crash for duplicated high-codepoint unicode localisable strings
    https://github.com/fastlane/fastlane/issues/15153 [open] 42 π¬
    a day ago
β‘οΈ  failed on flutter project
    https://github.com/fastlane/fastlane/issues/16085 [closed] 2 π¬
    07 Jun 2020
β‘οΈ  Upload to Crashlytics doesn't work cause of invalid byte sequence
    https://github.com/fastlane/fastlane/issues/14176 [closed] 11 π¬
    10 Sep 2019
and 41 more at: https://github.com/fastlane/fastlane/search?q=invalid%20byte%20sequence%20in%20UTF-8&type=Issues&utf8=β
π  You can β + double-click on links to open them directly in your browser.
+---------------------------+--------------+----------------+
|                 Plugin updates available                  |
+---------------------------+--------------+----------------+
| Plugin                    | Your Version | Latest Version |
+---------------------------+--------------+----------------+
| firebase_app_distribution | 0.2.4        | 0.2.5          |
+---------------------------+--------------+----------------+
[02:19:28]: To update all plugins, just run
[02:19:28]: $ bundle exec fastlane update_plugins
#######################################################################
# fastlane 2.178.0 is available. You are on 2.177.0.
# You should use the latest version.
# Please update using `bundle update fastlane`.
#######################################################################
2.178.0 Improvements
* [spaceship] add testers to other group (#18382) via Eric Wu
* [action] create_xcframework - delete .xcframework if already exists (#18345) via Nemanja Filipovic
* [action] github_api action - 'headers' param improvements (#18347) via Manish Rathi
* [action] app_store_connect_api_key - add validation to session duration. (#18346) via Roger Oba
* [action] add skip_info_plist parameter to increment_build_number to avoid updating Info.plist (#18372) via Maarten Billemont
* [fastlane_core] fix package upload after two-step rescue. (#18373) via Maarten Billemont
* [pilot] do not update app beta details if not needed (#18289) via Albert Casademont
* [fastlane_core][pilot][deliver] Improved transporter logging to pilot (#12259) via Alex Delong
* [Ruby 3.0] fix Ruby 2.7's deprecation warnings (#18021) via Satoshi Namai
* [action] github_api - enhance Github Actions token support (#18044) via David Cacenabes
Please update using `bundle update fastlane`
bundler: failed to load command: fastlane (/Users/distiller/project/Bundler/ruby/2.7.0/bin/fastlane)
ArgumentError: [!] invalid byte sequence in UTF-8
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb:51:in `split'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb:51:in `lines'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb:71:in `value_for_column_width_recalc'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:204:in `block (2 levels) in recalc_column_widths'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:203:in `each'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:203:in `block in recalc_column_widths'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:201:in `each'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:201:in `recalc_column_widths'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:339:in `column_widths'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:97:in `column_width'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb:7:in `block in render'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb:6:in `map'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb:6:in `render'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:142:in `block in render'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:142:in `map'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/terminal-table-1.8.0/lib/terminal-table/table.rb:142:in `render'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/lane_manager_base.rb:74:in `puts'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/lane_manager_base.rb:74:in `puts'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/lane_manager_base.rb:74:in `print_lane_context'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/lane_manager.rb:57:in `rescue in cruise_lane'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/lane_manager.rb:46:in `cruise_lane'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/commands_generator.rb:352:in `run'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in `take_off'
  /Users/distiller/project/Bundler/ruby/2.7.0/gems/fastlane-2.177.0/bin/fastlane:23:in `<top (required)>'
  /Users/distiller/project/Bundler/ruby/2.7.0/bin/fastlane:23:in `load'
  /Users/distiller/project/Bundler/ruby/2.7.0/bin/fastlane:23:in `<top (required)>'
Exited with code exit status 1
Environment
NB: Private info removed.
π« fastlane environment π«
Stack
| Key | Value | 
|---|---|
| OS | 10.15.7 | 
| Ruby | 2.7.2 | 
| Bundler? | true | 
| Git | git version 2.26.2 | 
| Installation Source | ~/Desktop/WORK/PROJECTS/<PROJECT>/Bundler/ruby/2.7.0/bin/fastlane | 
| Host | Mac OS X 10.15.7 (19H114) | 
| Ruby Lib Dir | ~/.rbenv/versions/2.7.2/lib | 
| OpenSSL Version | OpenSSL 1.1.1i 8 Dec 2020 | 
| Is contained | false | 
| Is homebrew | false | 
| Is installed via Fabric.app | false | 
| Xcode Path | /Applications/Xcode_12_1.app/Contents/Developer/ | 
| Xcode Version | 12.1 | 
System Locale
| Error | 
|---|
| No Locale with UTF8 found π« | 
fastlane files:
`./fastlane/Fastfile`
default_platform :ios
PROJECT_ROOT  = File.expand_path(File.dirname(__FILE__), '..').freeze
FASTLANE_ROOT = File.join(PROJECT_ROOT, 'fastlane').freeze
platform :ios do
  # Hooks
  before_all do |lane, options|
    next unless is_ci
    app_store_connect_api_key
    update_assets if [:test, :deploy].include?(lane)
    if [:deploy].include?(lane)
      setup_circle_ci
      sync_certificates
    end
  end
  after_all do |lane, options|
    next unless is_ci
    if lane == :test
      run_danger
      sh 'curl -s https://codecov.io/bash | bash'
      if sha1 = ENV['CIRCLE_SHA1']
        github_api(
          http_method: 'POST',
          body: {
            state: 'success',
            target_url: circleci_artifacts_url(path: 'fastlane/test_output/build_products.zip'),
            description: 'Simulator binary is available.',
            context: 'fastlane/artifacts',
          },
          path: "repos/#{ENV['GITHUB_REPOSITORY_NAME']}/statuses/#{sha1}",
        )
      end
    end
  end
  error do |lane, exception, options|
    UI.error("Error raised while executing lane: #{lane}, exception: #{exception}")
    next unless is_ci
    run_danger if lane == :test
    next unless git_branch == 'master' || !ENV['CIRCLE_TAG'].to_s.empty?
    payload = {}
    payload['Job'] = ENV['CIRCLE_BUILD_URL'] if ENV['CIRCLE_BUILD_URL']
    payload['Workflow'] = "https://circleci.com/workflow-run/#{ENV['CIRCLE_WORKFLOW_ID']}" if ENV['CIRCLE_WORKFLOW_ID']
    payload['PR'] = ENV['CIRCLE_PULL_REQUEST'] if ENV['CIRCLE_PULL_REQUEST'] && !ENV['CIRCLE_PULL_REQUEST'].empty?
    payload['Author'] = ENV['CIRCLE_USERNAME'] if ENV['CIRCLE_USERNAME'] && !ENV['CIRCLE_USERNAME'].empty?
    payload['Environment'] = lane_context[SharedValues::ENVIRONMENT] if lane_context[SharedValues::ENVIRONMENT]
    payload['Exception'] = exception
    slack_options = {
      success: false,
      payload: payload,
      default_payloads: [:lane, :git_branch],
    }
    slack_options[:pretext] = ENV['ERROR_NOTIF_PRETEXT'] if ENV['ERROR_NOTIF_PRETEXT']
    slack(slack_options)
  end
  # Lanes
  desc 'Submit the app for review'
  lane :submit do
    version = prompt(
      text: 'Which version?',
      ci_input: ENV['CIRCLE_TAG'],
    )
    build_number = prompt(
      text: 'Which build number?',
      ci_input: get_project_build_number,
    )
    dsym_check_count = 0
    loop do
      build_details = build_details(version: version, build_number: build_number)
      break if build_details.dsym_url
      dsym_check_count += 1
      UI.user_error!("Could not find any dSYM for #{version} (#{build_number})") if dsym_check_count >= 20
      UI.message('Waiting for dSYM file to appear...')
      sleep(30)
    end
    deliver(
      force: is_ci,
      submit_for_review: true,
      app_version: version,
      build_number: build_number,
      skip_binary_upload: true,
      phased_release: true,
      submission_information: {
        add_id_info_uses_idfa: true,
        add_id_info_serves_ads: false,
        add_id_info_tracks_action: true,
        add_id_info_tracks_install: true,
        add_id_info_limits_tracking: true,
      },
      precheck_include_in_app_purchases: false,
    )
  end
  desc 'Release the app'
  lane :release do
    authorize_connect_api(use_legacy: true)
    require 'spaceship'
    version = Spaceship::ConnectAPI::App
              .find(ENV['DELIVER_APP_IDENTIFIER'])
              .get_pending_release_app_store_version
    version_text = "#{version.version_string} (#{version.build.version})"
    next unless is_ci || prompt(text: "Release #{version_text}?", boolean: true)
    version.create_app_store_version_release_request
    slack(
      channel: ENV['DBL_RELEASE_NOTIF_CHANNEL'],
      default_payloads: [],
      pretext: "iOS `#{version_text}` phased release started!",
    )
  end
  desc 'Rollout the app to all users'
  lane :rollout do
    authorize_connect_api(use_legacy: true)
    require 'spaceship'
    version = Spaceship::ConnectAPI::App
              .find(ENV['DELIVER_APP_IDENTIFIER'])
              .get_live_app_store_version
    version_text = "#{version.version_string} (#{version.build.version})"
    next unless is_ci || prompt(text: "Release #{version_text} to all users?", boolean: true)
  end
  desc 'Set GitHub release note'
  lane :set_github_release_note do
    version = prompt(
      text: 'Which version do you want to set GitHub release note?',
      ci_input: ENV['CIRCLE_TAG'],
    )
    build_number = app_store_build_number(
      live: false,
      version: version,
    )
    build_details = build_details(
      version: version,
      build_number: build_number,
    )
    compressed_size = build_details.size_in_bytes
    description = []
    description << "Build number: #{build_number}"
    description << "Workflow: https://circleci.com/workflow-run/#{ENV['CIRCLE_WORKFLOW_ID']}" if ENV['CIRCLE_WORKFLOW_ID']
    if compressed_size.nil?
      UI.error('Failed to fetch compressed ipa size. Skipping.')
    else
      # Follow Apple Store Connect calculation and avoid 1,024
      compressed_size_in_mb = (compressed_size / 1000.0 / 1000.0).round(2)
      description << "Compressed ipa size: #{compressed_size_in_mb}MB"
    end
    description << create_release_note(version: version)
    repo_name = ENV['DBL_GITHUB_REPOSITORY_NAME']
    release = get_github_release(
      url: repo_name,
      version: version,
    )
    if release.nil?
      set_github_release(
        repository_name: repo_name,
        tag_name: version,
        name: '',
        description: description.join("\n"),
      )
      next
    end
    github_api(
      http_method: 'PATCH',
      body: { body: description.join("\n") },
      path: "repos/#{repo_name}/releases/#{release['id']}",
    )
  end
  desc 'Post submission log to BigQuery'
  lane :post_submission_log_to_bigquery do
    version = prompt(
      text: 'Which version do you want to send submission log for?',
      ci_input: ENV['CIRCLE_TAG'],
    )
    build_number = app_store_build_number(
      live: false,
      version: version,
    )
    build_details = build_details(
      version: version,
      build_number: build_number,
    )
    data = [
      {
        binary_size: build_details.size_in_bytes,
        binary_sizes: build_details.sizes_in_bytes.to_json,
        platform: 'ios',
        app_display_version: version,
        app_build_version: build_number,
        uploaded_at: Time.at(build_details.upload_date / 1000),
      },
    ]
    post_to_bigquery(dataset_id: 'mobile', table_id: 'submission_log', data: data)
  end
  desc 'Run tests'
  lane :test do
    scan(
      scheme: 'UnitTests',
      skip_slack: true,
    )
  end
  desc 'Build the app and upload to TestFlight / Firebase'
  lane :deploy do
    export_options = {}
    if ENV['GYM_EXPORT_METHOD'] != 'app-store'
      # Disable re-compile since it takes relatively long
      export_options[:compileBitcode] = false
    end
    gym(export_options: export_options)
    notes = create_release_note(
      version: get_info_plist_value(
        path: File.join(PROJECT_ROOT, 'Double/Double/Info.plist'),
        key: 'CFBundleShortVersionString',
      ),
    )
    case ENV['DBL_IPA_DEPLOYMENT_DESTINATION']
    when 'TestFlight'
      beta_app_review_info = {
        contact_email: ENV['BETA_CONTACT_EMAIL'],
        contact_first_name: ENV['BETA_CONTACT_FIRST_NAME'],
        contact_last_name: ENV['BETA_CONTACT_LAST_NAME'],
        contact_phone: ENV['BETA_CONTACT_PHONE'],
        demo_account_name: ENV['BETA_DEMO_ACCOUNT_NAME'],
        demo_account_password: ENV['BETA_DEMO_ACCOUNT_PASSWORD'],
      }
      pilot(beta_app_review_info: beta_app_review_info, changelog: notes)
    when 'Beta'
      firebase_app_distribution(release_notes: notes)
    else
      UI.user_error!('Unsupported deployment destination')
    end
  end
  desc 'Update build number'
  lane :update_build_number do
    number = prompt(
      text: 'Please enter build number:',
      ci_input: (ENV['CIRCLE_BUILD_NUM'].to_i + 6000).to_s,
    )
    increment_build_number(
      build_number: number,
      xcodeproj: File.join(PROJECT_ROOT, 'Double/Double.xcodeproj'),
    )
  end
  desc 'Update version number'
  lane :update_version_number do
    version = prompt(
      text: 'Please enter version number:',
      ci_input: ENV['CIRCLE_TAG'] || get_dbl_version_number,
    )
    (['APP'] + ENV['APP_EXTENSION_NAMES'].split(',')).each do |target_name|
      update_plist(
        plist_path: File.join(PROJECT_ROOT, "Double/#{target_name.strip}/Info.plist"),
        block: lambda { |plist|
          plist['CFBundleShortVersionString'] = version
        },
      )
    end
  end
  desc 'Download dsyms from App Store Connect and upload to Crashlytics'
  lane :sync_dsyms do
    authorize_connect_api(use_legacy: true)
    require 'spaceship'
    min_version = Spaceship::ConnectAPI
                  .get_app_store_versions(
                    app_id: Spaceship::ConnectAPI::App.find(ENV['DOWNLOAD_DSYMS_APP_IDENTIFIER']).id,
                    limit: 2,
                  )
                  .to_models
                  .min_by { |v| Gem::Version.new(v.version_string) }
    download_dsyms(min_version: min_version.version_string)
    upload_symbols_to_crashlytics(
      gsp_path: File.join(PROJECT_ROOT, 'Double/Double/Supporting Files/Firebase/GoogleService-Info.plist'),
      dsym_worker_threads: `sysctl -n hw.ncpu`.to_i,
    )
  end
  desc 'Sync certificates or renew as needed'
  lane :sync_certificates do
    base_identifier = ENV['APP_IDENTIFIER']
    app_identifier = [base_identifier] + ENV['APP_EXTENSION_NAMES'].split(',').map do |name|
      base_identifier + ".#{name.strip.downcase}"
    end
    match(app_identifier: app_identifier)
  end
  desc 'Post outdated dependencies on Slack'
  lane :post_outdated_dependencies do
    parse_pod_dependencies
    pods = lane_context[SharedValues::POD_ANALYZER_RESULTS]
    texts = pods.map { |p| "`#{p.pod_name}`, current: `#{p.current_version}`, latest: `#{p.latest}`" }
    slack(
      channel: ENV['OUTDATED_NOTIF_CHANNEL'],
      success: false,
      pretext: "Outdated dependencies: `#{texts.count}`",
      message: texts.join("\n"),
      default_payloads: [],
    )
  end
  # Private
  <REDACTED INTERNAL PRIVATE LANES>
  private_lane :authorize_connect_api do |params|
    require 'spaceship'
    if lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] && !params[:use_legacy]
      Spaceship::ConnectAPI.token = Spaceship::ConnectAPI::Token.create(lane_context[SharedValues::APP_STORE_CONNECT_API_KEY])
    else
      Spaceship::ConnectAPI.login(use_portal: false)
    end
  end
end
No Appfile found
fastlane gems
| Gem | Version | Update-Status | 
|---|---|---|
| fastlane | 2.177.0 | π« Update available | 
Loaded fastlane plugins:
| Plugin | Version | Update-Status | 
|---|---|---|
| fastlane-plugin-unzip | 1.0.1 | β Up-To-Date | 
| fastlane-plugin-INTERNAL-CAN-IGNORE-THIS | 0.1.0 | π₯ Check failed | 
| fastlane-plugin-INTERNAL-UPDATE-NOT-NEEDED | 0.2.4 | π« Update available | 
| fastlane-plugin-ios_dependency_parser | 1.0.0 | β Up-To-Date | 
Loaded gems
| Gem | Version | 
|---|---|
| did_you_mean | 1.4.0 | 
| bundler | 2.1.4 | 
| uri | 0.10.0 | 
| rake | 13.0.3 | 
| CFPropertyList | 3.0.3 | 
| concurrent-ruby | 1.1.8 | 
| i18n | 1.8.9 | 
| minitest | 5.14.3 | 
| thread_safe | 0.3.6 | 
| tzinfo | 1.2.9 | 
| activesupport | 5.2.4.5 | 
| public_suffix | 4.0.6 | 
| addressable | 2.7.0 | 
| httpclient | 2.8.3 | 
| json | 2.5.1 | 
| algoliasearch | 1.27.5 | 
| artifactory | 3.0.15 | 
| ast | 2.4.1 | 
| atomos | 0.1.3 | 
| attr_extras | 4.6.0 | 
| aws-eventstream | 1.1.1 | 
| aws-partitions | 1.431.1 | 
| aws-sigv4 | 1.2.3 | 
| jmespath | 1.4.0 | 
| aws-sdk-core | 3.112.1 | 
| aws-sdk-kms | 1.42.0 | 
| aws-sdk-s3 | 1.90.0 | 
| descendants_tracker | 0.0.4 | 
| ice_nine | 0.11.2 | 
| axiom-types | 0.1.1 | 
| babosa | 1.0.4 | 
| claide | 1.0.3 | 
| colored2 | 3.1.2 | 
| cork | 0.3.0 | 
| nap | 1.1.0 | 
| open4 | 1.3.4 | 
| claide-plugins | 0.9.2 | 
| fuzzy_match | 2.0.4 | 
| netrc | 0.11.0 | 
| ffi | 1.14.2 | 
| ethon | 0.12.0 | 
| typhoeus | 1.4.0 | 
| cocoapods-core | 1.10.1 | 
| cocoapods-deintegrate | 1.0.4 | 
| cocoapods-downloader | 1.4.0 | 
| cocoapods-plugins | 1.0.0 | 
| cocoapods-search | 1.0.0 | 
| cocoapods-trunk | 1.5.0 | 
| cocoapods-try | 1.2.0 | 
| escape | 0.0.4 | 
| fourflusher | 2.3.1 | 
| gh_inspector | 1.1.3 | 
| molinillo | 0.6.6 | 
| ruby-macho | 1.4.0 | 
| nanaimo | 0.3.0 | 
| xcodeproj | 1.19.0 | 
| cocoapods | 1.10.1 | 
| cocoapods-check | 1.1.0 | 
| coercible | 1.0.0 | 
| colored | 1.2 | 
| highline | 1.7.10 | 
| commander-fastlane | 4.4.6 | 
| faraday-net_http | 1.0.1 | 
| multipart-post | 2.0.0 | 
| ruby2_keywords | 0.0.4 | 
| faraday | 1.3.0 | 
| faraday-http-cache | 2.2.0 | 
| rchardet | 1.8.0 | 
| git | 1.7.0 | 
| rexml | 3.2.4 | 
| kramdown | 2.3.0 | 
| kramdown-parser-gfm | 1.1.0 | 
| no_proxy_fix | 0.1.2 | 
| sawyer | 0.8.2 | 
| octokit | 4.20.0 | 
| unicode-display_width | 1.7.0 | 
| terminal-table | 1.8.0 | 
| danger | 8.2.1 | 
| danger-plugin-api | 1.0.0 | 
| danger-iblinter | 0.0.5 | 
| parallel | 1.20.1 | 
| parser | 3.0.0.0 | 
| rainbow | 3.0.0 | 
| regexp_parser | 2.0.3 | 
| rubocop-ast | 1.3.0 | 
| ruby-progressbar | 1.10.1 | 
| rubocop | 1.7.0 | 
| danger-rubocop | 0.9.3 | 
| thor | 0.20.3 | 
| danger-swiftlint | 0.24.5 | 
| danger-xcode_summary | 0.5.2 | 
| declarative | 0.0.20 | 
| declarative-option | 0.1.0 | 
| digest-crc | 0.6.3 | 
| unf_ext | 0.0.7.7 | 
| unf | 0.1.4 | 
| domain_name | 0.5.20190701 | 
| dotenv | 2.7.6 | 
| emoji_regex | 3.2.2 | 
| equalizer | 0.0.11 | 
| events | 0.9.8 | 
| excon | 0.79.0 | 
| http-cookie | 1.0.3 | 
| faraday-cookie_jar | 0.0.7 | 
| faraday_middleware | 1.0.0 | 
| fastimage | 2.2.3 | 
| jwt | 2.2.2 | 
| memoist | 0.16.2 | 
| multi_json | 1.15.0 | 
| os | 1.1.1 | 
| signet | 0.15.0 | 
| googleauth | 0.16.0 | 
| mini_mime | 1.0.2 | 
| uber | 0.1.0 | 
| representable | 3.0.4 | 
| retriable | 3.1.2 | 
| google-api-client | 0.38.0 | 
| webrick | 1.7.0 | 
| google-apis-core | 0.3.0 | 
| google-apis-iamcredentials_v1 | 0.2.0 | 
| google-apis-storage_v1 | 0.3.0 | 
| google-cloud-env | 1.5.0 | 
| google-cloud-errors | 1.0.1 | 
| google-cloud-core | 1.5.0 | 
| google-cloud-storage | 1.30.0 | 
| mini_magick | 4.11.0 | 
| naturally | 2.2.1 | 
| plist | 3.6.0 | 
| rubyzip | 2.3.0 | 
| security | 0.1.3 | 
| simctl | 1.6.8 | 
| slack-notifier | 2.3.2 | 
| terminal-notifier | 2.0.0 | 
| tty-screen | 0.8.1 | 
| tty-cursor | 0.7.1 | 
| tty-spinner | 0.9.3 | 
| word_wrap | 1.0.0 | 
| rouge | 2.0.7 | 
| xcpretty | 0.3.0 | 
| xcpretty-travis-formatter | 1.0.1 | 
| google-cloud-bigquery | 1.21.2 | 
| oauth | 0.5.4 | 
| jira-ruby | 1.5.0 | 
| virtus | 1.0.5 | 
| pr_log | 0.2.0 | 
| xcpretty-json-formatter | 0.1.1 | 
generated on: 2021-03-17
About this issue
- Original URL
 - State: closed
 - Created 3 years ago
 - Reactions: 16
 - Comments: 42 (2 by maintainers)
 
Commits related to this issue
- Fastlane: skip external submission if another build is in review `reject_build_waiting_for_review` option does not work anymore. See https://github.com/fastlane/fastlane/issues/18408 — committed to SRGSSR/playsrg-apple by pyby 3 years ago
 - Fastlane: skip external submission if another build is in review `reject_build_waiting_for_review` option does not work anymore. See https://github.com/fastlane/fastlane/issues/18408 — committed to SRGSSR/playsrg-apple by pyby 3 years ago
 
I donβt understand why this issue is closed ? I think we should re-open it. The problem is still here.
@jonathanlu813 yes it would be nice if no error was thrown when
reject_build_waiting_for_reviewisfalse. We work around it with this code:This is also an issue for us after switching from logging in with username/password to the App Store Connect API key.
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
fastlaneversion and check if that solves the issue. Let us know if that works for you by adding a comment πFriendly reminder: contributions are always welcome! Check out CONTRIBUTING.md for more information on how to help with
fastlaneand feel free to tackle this issue yourself πͺThis issue will be auto-closed if there is no reply within 1 month.
Oh! Ummmβ¦ we donβt but I can reach out to the team to see what we can do! Brb π
I can confirm I can reproduce that as well when the
reject_build_waiting_for_reviewflag is set and a beta build is already under reviewThis issue still exists. The delete API for
betaAppReviewSubmissionsseems to not exist (anymore?). My workaround for this is toexpirethe builds inWAITING_FOR_REVIEWbefore submitting new build for review.But, it is not just that. The filter condition on which build to remove from submission/expire should also be updated to ensure that only the build hindering the new build is removed.
TestFlight allows multiple builds in review as long their version names are different.
Still facing same issue uploading build to testflight and is in review.
@danl3v Thanks for the workaround! Just tried an works perfectly.
I have a feeling that the problem can be easily solved by changing one line in
spaceship/lib/spaceship/connect_api/testflight/testflight.rb:120test_flight_request_client.delete("betaAppReviewSubmissions/#{beta_app_review_submission_id}", params)totest_flight_request_client.delete("reviewSubmissionItems/#{beta_app_review_submission_id}", params)Iβm also facing this error. I think the App Store Connect API might not support this operation.
Still experiencing this issue in fastlane (2.196.0, 2.191.0, 2.186.0, 2.184.1, 2.181.0, 2.180.1, 2.174.0).
Iβm still getting this issue too.