fastlane: Deliver language detection returning invalid values

New Issue Checklist

Issue Description

When I try to update my app’s metadata using Deliver it fails with the following error:

/Users/guilherme.gibertoni/.rvm/gems/ruby-2.7.0/gems/fastlane-2.169.0/spaceship/lib/spaceship/connect_api/api_client.rb:193:in `handle_response': The provided entity is missing a required attribute - You must provide a value for the attribute 'locale' with this request (Spaceship::UnexpectedResponse)

Looking at my previous and successful attempts from a couple of months ago I could note this difference:

Successful

[23:19:10]: Detected languages: ["en-US", "default"]
[23:19:17]: Will begin uploading metadata for '1.0' on App Store Connect
[23:19:17]: Uploading metadata to App Store Connect for version
[23:19:17]: Uploading metadata to App Store Connect for localized version 'en-US'
[23:19:18]: Uploading metadata to App Store Connect for localized info 'en-US'

Current and Flawed:

[14:06:52]: Detected languages: ["en-US", "", "default", nil]
[14:06:53]: Activating version language ...
Looking for related GitHub issues on fastlane/fastlane...

I dont think the empty string and nil string on this array are expected

Command executed

fastlane deliver --force --automatic_release false --submit_for_review false --overwrite_screenshots --skip_binary_upload

Complete output when running fastlane, including the stack trace and command used
 which fastlane: /Users/admin/.rbenv/shims/fastlane
Uploading metadata

[14:06:40]: fastlane detected a Gemfile in the current directory [14:06:40]: However, it seems like you didn’t use bundle exec [14:06:40]: To launch fastlane faster, please use [14:06:40]: [14:06:40]: $ bundle exec fastlane deliver --force --automatic_release false --submit_for_review false --overwrite_screenshots --skip_binary_upload --app_rating_config_path metadata/age_rating.json [14:06:40]: [14:06:40]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile

[14:06:44]: Successfully loaded ‘/Users/admin/jenkins-home/workspace/hackathon-uploader-ios-metadata-itc/Deliverfile’ 📄

±-----------------------------------------±------------+ | Detected Values from ‘./Deliverfile’ | ±-----------------------------------------±------------+ | languages | [“en-US”] | | app_icon | icon.png | | price_tier | 0 | | copyright | REDACTED | | privacy_url | | | support_url | | | app_review_information | | | trade_representative_contact_information | | ±-----------------------------------------±------------+

[14:06:44]: Login to App Store Connect (****) Available session is not valid any more. Continuing with normal login.

[14:06:48]: Login successful

±-------------------------------------------------------------------±---------------------------------------------+ | deliver 2.169.0 Summary | ±-------------------------------------------------------------------±---------------------------------------------+ | force | true | | automatic_release | false | | submit_for_review | false | | overwrite_screenshots | true | | skip_binary_upload | true | | app_rating_config_path | metadata/age_rating.json | | screenshots_path | ./screenshots | | metadata_path | ./metadata | | username | **** | | app_identifier | REDACTED | | platform | ios | | edit_live | false | | use_live_version | false | | skip_screenshots | false | | skip_metadata | false | | skip_app_version_update | false | | reject_if_possible | false | | phased_release | false | | reset_ratings | false | | price_tier | 0 | | run_precheck_before_submit | true | | precheck_default_rule_level | warn | | app_icon | icon.png | | copyright | REDACTED | | trade_representative_contact_information.first_name | REDACTED | | trade_representative_contact_information.last_name | REDACTED | | trade_representative_contact_information.address_line1 | REDACTED | | trade_representative_contact_information.address_line2 | REDACTED | | trade_representative_contact_information.city_name | REDACTED | | trade_representative_contact_information.state | REDACTED | | trade_representative_contact_information.country | REDACTED | | trade_representative_contact_information.postal_code | REDACTED | | trade_representative_contact_information.phone_number | REDACTED | | trade_representative_contact_information.email_address | REDACTED | | trade_representative_contact_information.is_displayed_on_app_store | false | | app_review_information.first_name | REDACTED | | app_review_information.last_name | REDACTED | | app_review_information.phone_number | REDACTED | | app_review_information.email_address | REDACTED | | privacy_url.default | REDACTED | | support_url.default | REDACTED | | languages | [“en-US”] | | ignore_language_directory_validation | false | | precheck_include_in_app_purchases | true | ±-------------------------------------------------------------------±---------------------------------------------+

[14:06:52]: Loading ‘./metadata/default/description.txt’… [14:06:52]: Loading ‘./metadata/default/keywords.txt’… [14:06:52]: Loading ‘./metadata/default/name.txt’… [14:06:52]: Loading ‘./metadata/default/subtitle.txt’… [14:06:52]: Loading ‘./metadata/primary_category.txt’… [14:06:52]: Loading ‘./metadata/primary_first_sub_category.txt’… [14:06:52]: Loading ‘./metadata/primary_second_sub_category.txt’… [14:06:52]: Detected languages: [“en-US”, “”, “default”, nil]

[14:06:53]: Activating version language …

Looking for related GitHub issues on fastlane/fastlane…

➡️ Deliver to App Store fails on missing “whatsNew” attribute for app updates https://github.com/fastlane/fastlane/issues/17318 [open] 22 💬 2 days ago

➡️ DELIVER (2.150.0.rc3/4) always ask attribute whatsNew https://github.com/fastlane/fastlane/issues/16700 [open] 57 💬 a week ago

➡️ Completely new app gets: You must provide a value for the attribute ‘usesNonExemptEncryption’ with this request https://github.com/fastlane/fastlane/issues/16645 [closed] 11 💬 15 Sep 2020

and 5 more at: https://github.com/fastlane/fastlane/search?q=The provided entity is missing a required attribute - You must provide a value for the attribute 'locale' with this request&type=Issues&utf8=✓

🔗 You can ⌘ + double-click on links to open them directly in your browser. /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/spaceship/lib/spaceship/connect_api/api_client.rb:193:in handle_response': [!] The provided entity is missing a required attribute - You must provide a value for the attribute 'locale' with this request (Spaceship::UnexpectedResponse) from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/spaceship/lib/spaceship/connect_api/api_client.rb:124:in post’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/spaceship/lib/spaceship/connect_api/tunes/tunes.rb:673:in post_app_store_version_localization' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/spaceship/lib/spaceship/connect_api/models/app_store_version.rb:119:in create_app_store_version_localization’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/upload_metadata.rb:507:in block in verify_available_version_languages!' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/upload_metadata.rb:506:in each’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/upload_metadata.rb:506:in verify_available_version_languages!' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/upload_metadata.rb:89:in upload’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/runner.rb:145:in upload_metadata' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/runner.rb:54:in run’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/commands_generator.rb:81:in block (2 levels) in run' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run!’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/commands_generator.rb:186:in run' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/deliver/lib/deliver/commands_generator.rb:17:in start’ from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/fastlane/lib/fastlane/cli_tools_distributor.rb:111:in take_off' from /Users/admin/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/fastlane-2.169.0/bin/fastlane:23:in <top (required)>’ from /Users/admin/.rbenv/versions/2.5.1/bin/fastlane:23:in load' from /Users/admin/.rbenv/versions/2.5.1/bin/fastlane:23:in <main>’ Failed to upload metadata! Check error above Build step ‘Execute shell’ marked build as failure Notifying upstream projects of job completion

[WS-CLEANUP] Deleting project workspace… [WS-CLEANUP] Deferred wipeout is used… [WS-CLEANUP] done Finished: FAILURE

Environment

 
🚫 fastlane environment 🚫

Stack

Key Value
OS 10.15.7
Ruby 2.7.0
Bundler? true
Git git version 2.24.3 (Apple Git-128)
Installation Source ~/.rvm/gems/ruby-2.7.0/bin/fastlane
Host Mac OS X 10.15.7 (19H2)
Ruby Lib Dir ~/.rvm/rubies/ruby-2.7.0/lib
OpenSSL Version OpenSSL 1.1.1g 21 Apr 2020
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode.app/Contents/Developer/
Xcode Version 12.2

System Locale

Error
No Locale with UTF8 found 🚫

fastlane files:

No Fastfile found

`./Appfile`
app_identifier("com.cronus.hackathon202009.group03.project01")
    

fastlane gems

Gem Version Update-Status
fastlane 2.169.0 ✅ Up-To-Date

Loaded fastlane plugins:

No plugins Loaded

Loaded gems
Gem Version
did_you_mean 1.4.0
executable-hooks 1.6.0
bundler-unload 1.0.2
rubygems-bundler 1.4.5
bundler 2.1.4
rake 13.0.1
CFPropertyList 3.0.2
public_suffix 4.0.6
addressable 2.7.0
atomos 0.1.3
aws-eventstream 1.1.0
aws-partitions 1.401.0
aws-sigv4 1.2.2
jmespath 1.4.0
aws-sdk-core 3.109.3
aws-sdk-kms 1.39.0
aws-sdk-s3 1.86.0
babosa 1.0.4
claide 1.0.3
coderay 1.1.2
colored 1.2
colored2 3.1.2
highline 1.7.10
commander-fastlane 4.4.6
declarative 0.0.20
declarative-option 0.1.0
digest-crc 0.6.1
unf_ext 0.0.7.7
unf 0.1.4
domain_name 0.5.20190701
dotenv 2.7.6
emoji_regex 3.2.1
excon 0.78.0
multipart-post 2.0.0
ruby2_keywords 0.0.2
faraday 1.1.0
http-cookie 1.0.3
faraday-cookie_jar 0.0.7
faraday_middleware 1.0.0
fastimage 2.2.0
gh_inspector 1.1.3
jwt 2.2.2
memoist 0.16.2
multi_json 1.15.0
os 1.1.1
signet 0.14.0
googleauth 0.14.0
httpclient 2.8.3
mini_mime 1.0.2
uber 0.1.0
representable 3.0.4
retriable 3.1.2
google-api-client 0.38.0
google-cloud-env 1.4.0
google-cloud-errors 1.0.1
google-cloud-core 1.5.0
google-cloud-storage 1.29.1
json 2.3.1
mini_magick 4.11.0
plist 3.5.0
rubyzip 2.3.0
security 0.1.3
naturally 2.2.0
simctl 1.6.8
slack-notifier 2.3.2
terminal-notifier 2.0.0
unicode-display_width 1.7.0
terminal-table 1.8.0
tty-screen 0.8.1
tty-cursor 0.7.1
tty-spinner 0.9.3
word_wrap 1.0.0
nanaimo 0.3.0
xcodeproj 1.19.0
rouge 2.0.7
xcpretty 0.3.0
xcpretty-travis-formatter 1.0.0
method_source 0.9.2
pry 0.12.2

generated on: 2020-12-02

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 24 (12 by maintainers)

Most upvoted comments

Has this really been fixed? I’m on 2.170.0. Prior to this everything worked smoothly. Then, one day, fastlane stopped uploading ja release_notes (but processed US and MX without issue) That was been the state of things for weeks, until today with 2.170.0

Today, no release_notes uploaded. They loaded; they are seen by fastlane. Fastlane promises it will upload the metadata, and does nothing.

[20:20:32]: Making sure the latest version on App Store Connect matches '8.20.0'...
[20:20:32]: '8.20.0' is the latest version on App Store Connect
[20:20:32]: Loading './fastlane/metadata/ja/release_notes.txt'...
[20:20:32]: Loading './fastlane/metadata/es-MX/release_notes.txt'...
[20:20:32]: Loading './fastlane/metadata/en-US/release_notes.txt'...
[20:20:35]: Will begin uploading metadata for '8.20.0' on App Store Connect
[20:20:35]: Uploading metadata to App Store Connect for version
[20:20:41]: Creating phased release on App Store Connect
[20:20:41]: Uploading app review information to App Store Connect
[20:20:44]: Selecting existing build-number: 8.20.0.21
[20:20:45]: Selecting build 8.20.0 (8.20.0.21)...
[20:20:46]: Successfully selected build

Just a weird guess… release_notes.txt can contain a single sentence, yes? If the sentence begins with - (hyphen, space) could that affect upload of the string? I don’t see how or why it would, but… 🤷

Same issue is happening with us as well. I noticed that if I have the default directory it ends up in an error. If I delete the default directory it goes through.

Fastlane version: 2.169.0

@ChristopherDrum Sorry for your inconvenience🙇 Once you create a new ticket with sufficient information, I’ll have a look at your issue 🙏

@ChristopherDrum sounds like a valid issue to me. Would you mind opening a new ticket, filling out all the required info? 🙏 that’d help a lot to get your issue resolved faster!

release_notes.txt can contain a single sentence, yes? If the sentence begins with - (hyphen, space) could that affect upload of the string?

Yes. I don’t see how a hyphen would break anything, that shouldn’t be the problem 😃

Don’t use sudo and work with a gemfile where you can specify versions.

Thanks for the tip @max-ott . We use Fastlane for many years and followed the old way back then. I have no knowledge at all of Ruby and Gems, but I see that the installation docu has been updated to use a gemfile, so will follow that.

BTW, after running fastlane deliver and when an update is available, sudo is recommended:

#######################################################################
# fastlane 2.169.0 is available. You are on 2.168.0.
# You should use the latest version.
# Please update using `sudo gem install fastlane`.
#######################################################################

It’s probably related to metadata and not screenshots, as I was able to submit all screenshots but couldn’t update release notes.

👍 I see. What I refactored in https://github.com/fastlane/fastlane/pull/17661 is the logic to list up language directories, which is shared by both metadata and screenshots. That’s why I asked🙂

Mine is:

» ls -al screenshot
total 0
drwxr-xr-x   3 guilherme.gibertoni  staff   96 Dec  1 12:31 .
drwxr-xr-x@ 18 guilherme.gibertoni  staff  576 Dec  2 14:28 ..
drwxr-xr-x  15 guilherme.gibertoni  staff  480 Dec  1 12:31 en-US
ls -al metadata                                                                                                                        
total 40
drwxr-xr-x   7 guilherme.gibertoni  staff   224 Dec  2 14:28 .
drwxr-xr-x@ 18 guilherme.gibertoni  staff   576 Dec  2 14:28 ..
-rw-r--r--@  1 guilherme.gibertoni  staff  6148 Dec  2 14:28 .DS_Store
drwxr-xr-x   6 guilherme.gibertoni  staff   192 Dec  1 12:31 default
-rwxr-xr-x   1 guilherme.gibertoni  staff     6 Dec  1 12:31 primary_category.txt
-rwxr-xr-x   1 guilherme.gibertoni  staff    15 Dec  1 12:31 primary_first_sub_category.txt
-rwxr-xr-x   1 guilherme.gibertoni  staff    12 Dec  1 12:31 primary_second_sub_category.txt

@ainame sure:

# ls -la fastlane/metadata
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 .
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 ..
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 android
-rwxrwxrwx 1 temp temp   21 Nov 18 13:37 copyright.txt
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 default
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 en-GB
# ls -la fastlane/screenshots
total 0
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 .
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 ..
drwxrwxrwx 1 temp temp 4096 Dec  3 12:28 en-GB

Possible regression cc @joshdholtz @ainame

Same issue here since v2.169.0 🤔

Same issue here

Interestingly, when I tried downgrading to v2.168.0 it also failed. 😦