fastlane: Pilot fails with error 'What to Test is required. What to Test is required. Validation errors' when 'Distributing new build to testers'

New Issue Checklist

Issue Description

Complete output when running fastlane, including the stack trace and command used

The lane worked well for a long time, but after iTunesConnect update it started to fail on distributing build to testers.

pilot section looks like:

pilot(
      changelog: "release notes",
      beta_app_description: "MyProject app for iPad",
      beta_app_feedback_email: "email@domain.com",
      update_build_info_on_upload: true,
      distribute_external: true
      )

Command invoked: $ fastlane stage

Piece of console output:

[00:05:38]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:06:10]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:06:43]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:07:16]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:07:49]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:08:37]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:09:10]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:09:42]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:10:16]: Waiting for iTunes Connect to finish processing the new build (1.1.0 - 7)
[00:10:46]: Successfully finished processing the build
[00:10:46]: You can now tweet: 
[00:10:46]: iTunes Connect #iosprocessingtime 15 minutes
[00:10:46]: Distributing new build to testers
+-----------------------------------+--------------------------------------------------------------+
|                                           Lane Context                                           |
+-----------------------------------+--------------------------------------------------------------+
| DEFAULT_PLATFORM                  | ios                                                          |
| PLATFORM_NAME                     | ios                                                          |
| LANE_NAME                         | ios stage                                                    |
| GIT_REPO_WAS_CLEAN_ON_START       | true                                                         |
| GET_INFO_PLIST_VALUE_CUSTOM_VALUE | 1.1.0                                                        |
| VERSION_NUMBER                    | 1.1.0                                                        |
| LATEST_BUILD_NUMBER               | 6                                                            |
| LATEST_TESTFLIGHT_BUILD_NUMBER    | 6                                                            |
| BUILD_NUMBER                      | 7                                                            |
| CERT_FILE_PATH                    | /private/var/jenkins-osx/workspace/myproject-... |
| CERT_CERTIFICATE_ID               | 64J473RRKY                                                   |
| SIGH_PROFILE_PATH                 | /private/var/jenkins-osx/workspace/myproject-... |
| SIGH_PROFILE_PATHS                | ["/private/var/jenkins-osx/workspace/myproj... |
| SIGH_UDID                         | 8d969018-aae3-40a2-b155-93cc9604e3a8                         |
| SIGH_UUID                         | 8d969018-aae3-40a2-b155-93cc9604e3a8                         |
| SIGH_PROFILE_TYPE                 | app-store                                                    |
| IPA_OUTPUT_PATH                   | /private/var/jenkins-osx/workspace/myproject-... |
| DSYM_OUTPUT_PATH                  | /private/var/jenkins-osx/workspace/myproject-... |
| XCODEBUILD_ARCHIVE                | /Users/Shared/Jenkins/Library/Developer/Xcode/Archives/20... |
| READ_CHANGELOG_CHANGELOG_PATH     | ./CHANGELOG.md                                               |
| READ_CHANGELOG_SECTION_CONTENT    | Fixed                                                        |
|                                   | - myproject-464 Selected element is not highlighted          |
+-----------------------------------+--------------------------------------------------------------+
[00:10:49]: [Swedish]: What to Test is required. What to Test is required. Validation errors

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | cocoapods                           | 1           |
| 4    | ensure_git_status_clean             | 0           |
| 5    | get_version_number_from_plist       | 7           |
| 6    | latest_testflight_build_number      | 10          |
| 7    | increment_build_number              | 0           |
| 8    | cert                                | 5           |
| 9    | sigh                                | 8           |
| 10   | gym                                 | 62          |
| 11   | read_changelog                      | 0           |
| 12   | upload_symbols_to_crashlytics       | 3           |
| 💥   | pilot                               | 934         |
+------+-------------------------------------+-------------+

[00:10:49]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane…

Found no similar issues. To create a new issue, please visit: https://github.com/fastlane/fastlane/issues/new Run fastlane env to append the fastlane environment to your issue

[!] The request could not be completed because: [Swedish]: What to Test is required. What to Test is required. Validation errors

Environment

✅ fastlane environment ✅

Stack

Key Value
OS 10.11.6
Ruby 2.3.0
Bundler? false
Git git version 2.3.0
Installation Source /usr/local/bin/fastlane
Host Mac OS X 10.11.6 (15G31)
Ruby Lib Dir /usr/local/Cellar/ruby/2.3.0/lib
OpenSSL Version OpenSSL 1.0.2e 3 Dec 2015
Is contained false
Is homebrew false
Is installed via Fabric.app false
Xcode Path /Applications/Xcode.app/Contents/Developer/
Xcode Version 8.2.1

System Locale

Variable Value
LANG en_US.UTF-8 ✅
LC_ALL
LANGUAGE

fastlane files:

`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://docs.fastlane.tools/actions
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version

fastlane_version "2.26.1"

custom_output_path = "./fastlane/build"

default_platform :ios

platform :ios do
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    cocoapods(use_bundle_exec: false)
  end

  desc "Submit a Build to Apple App Store"
  lane :prod do
    ensure_git_status_clean

    app_version = get_version_number_from_plist(xcodeproj: 'MyProject.xcodeproj', target: 'MyProject') # 1.2.1
    testflight_build_number = latest_testflight_build_number(
      app_identifier: $app_identifier_stage,
      version: app_version,
      initial_build_number: 0
      ) # 42
    UI.important "app_version #{app_version}"
    UI.important "testflight_build_number #{testflight_build_number}"

    if testflight_build_number == 0
      raise "You have to upload 'stage' build to TestFlight first"
    end
    release_version = "#{app_version}-#{testflight_build_number}" # 1.2.1-42
    UI.important "release_version #{release_version}"
    
    cert(output_path: custom_output_path)
    sigh(output_path: custom_output_path)

    gym(
      scheme: "MyProject",
      workspace: "MyProject.xcworkspace",
      configuration: $build_configuration,
      export_method: "app-store",
      clean: true,
      silent: true,
      suppress_xcode_output: true,
      include_bitcode: false,
      include_symbols: true,
      output_directory: custom_output_path
      )

    upload_symbols_to_crashlytics(api_token: "api_token")

    pilot(skip_waiting_for_build_processing: true)

    git_tag_name = "prod/#{release_version}"
    UI.important "git_tag_name #{git_tag_name}"
    if git_tag_exists(tag: git_tag_name)
      UI.error("Tag #{git_tag_name} already exists!")
    else
      add_git_tag(tag: git_tag_name)
    end

    push_to_git_remote
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  lane :stage do
    ensure_git_status_clean

    app_version = get_version_number_from_plist(xcodeproj: 'MyProject.xcodeproj', target: 'MyProject') # 1.2.1
    build_number = latest_testflight_build_number(version: app_version, initial_build_number: 0) + 1 # 42
    release_version = "#{app_version}-#{build_number}" # 1.2.1-42
    UI.important "app_version #{app_version}"
    UI.important "build_number #{build_number}"
    UI.important "release_version #{release_version}"

    increment_build_number(build_number: build_number, xcodeproj: "MyProject.xcodeproj")

    cert(output_path: custom_output_path)
    sigh(output_path: custom_output_path)

    gym(
      scheme: "MyProject",
      workspace: "MyProject.xcworkspace",
      configuration: $build_configuration,
      export_method: "app-store",
      clean: true,
      silent: true,
      suppress_xcode_output: true,
      include_bitcode: false,
      include_symbols: true,
      output_directory: custom_output_path
      )

    release_notes = read_changelog
    UI.important "release_notes #{release_notes}"

    upload_symbols_to_crashlytics(api_token: "api_token")

    pilot(
      changelog: release_notes,
      beta_app_description: "MyProject app for iPad",
      beta_app_feedback_email: "email@domain.com",
      update_build_info_on_upload: true,
      distribute_external: true
      )

    stamp_changelog(section_identifier: release_version)
    git_add(path: "./CHANGELOG.md")

    commit_version_bump(message: "Version bump to "+release_version, force: true) # force - to commit CHANGELOG.md

    git_tag_name = "stage/#{release_version}"
    UI.important "git_tag_name #{git_tag_name}"
    if git_tag_exists(tag: git_tag_name)
      UI.error("Tag #{git_tag_name} already exists!")
    else
      add_git_tag(tag: git_tag_name)
    end

    push_to_git_remote
  end

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end


# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://docs.fastlane.tools/actions

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer
`./fastlane/Appfile`
apple_id "apple_id" # Your Apple email address
team_id "team_id"  # Developer Portal Team ID

$app_identifier_stage = "me.MyProject-stage"
$app_identifier_release = "me.MyProject"

for_platform :ios do
  for_lane :stage do
  	$build_configuration = "Stage"
    $app_identifier_current = $app_identifier_stage
    app_identifier $app_identifier_current
  end

  for_lane :prod do
  	$build_configuration = "Release"
    $app_identifier_current = $app_identifier_release
    app_identifier $app_identifier_current
  end
end

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

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

Loaded fastlane plugins:

Plugin Version Update-Status
fastlane-plugin-versioning 0.2.6 ✅ Up-To-Date
fastlane-plugin-changelog 0.7.0 ✅ Up-To-Date
Loaded gems
Gem Version
did_you_mean 1.0.0
slack-notifier 1.5.1
CFPropertyList 2.3.5
claide 1.0.1
colored2 3.1.2
nanaimo 0.2.3
xcodeproj 1.4.4
rouge 1.11.1
xcpretty 0.2.6
terminal-notifier 1.7.1
unicode-display_width 1.1.3
terminal-table 1.7.3
plist 3.2.0
public_suffix 2.0.5
addressable 2.5.1
multipart-post 2.0.0
word_wrap 1.0.0
tty-screen 0.5.0
babosa 1.0.2
colored 1.2
highline 1.7.8
commander-fastlane 4.4.4
excon 0.55.0
faraday 0.12.0.1
unf_ext 0.0.7.3
unf 0.1.4
domain_name 0.5.20170404
http-cookie 1.0.3
faraday-cookie_jar 0.0.6
fastimage 2.1.0
gh_inspector 1.0.3
uber 0.0.15
representable 2.3.0
retriable 2.1.0
mime-types-data 3.2016.0521
mime-types 3.1
hurley 0.2
jwt 1.5.6
memoist 0.15.0
multi_json 1.12.1
os 0.9.6
signet 0.7.3
googleauth 0.5.1
httpclient 2.8.3
google-api-client 0.9.28
mini_magick 4.5.1
multi_xml 0.6.0
rubyzip 1.2.1
security 0.1.3
xcpretty-travis-formatter 0.0.4
dotenv 2.2.0
bundler 1.14.3
faraday_middleware 0.11.0.1
i18n 0.8.1
thread_safe 0.3.6
tzinfo 1.2.3
activesupport 4.2.8
json 2.0.4
io-console 0.4.5
fastlane-plugin-versioning 0.2.6
fastlane-plugin-changelog 0.7.0

generated on: 2017-04-12

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 17 (11 by maintainers)

Most upvoted comments

@urimagisto So glad to hear it is working for you now!

I’m going to close this issue - if anyone else is having similar problems, please open a new issue and we will look into it as quickly as possible. Thanks!!