fastlane: Xcode 8 Unable To Archive With Unknown File Path
New Issue Checklist
- Updated fastlane to the latest version
- I have read the Contribution Guidelines
Issue Description
When running Gym in Fastlane 1.102.0 The archive is unable to be created due to a file path incorrectly attempting to be opened.
Complete output when running fastlane, including the stack trace and command used
Errno::ENOENT: [!] No such file or directory @ rb_sysopen - /Applications/Xcode-beta.app/Contents/Developer//Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftWebKit.dylib
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/2.2.0/fileutils.rb:1391:in `initialize'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/2.2.0/fileutils.rb:1391:in `open'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/2.2.0/fileutils.rb:1391:in `copy_file'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/2.2.0/fileutils.rb:485:in `copy_file'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/xcodebuild_fixes/swift_fix.rb:30:in `block (2 levels) in swift_library_fix'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/xcodebuild_fixes/swift_fix.rb:27:in `each'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/xcodebuild_fixes/swift_fix.rb:27:in `block in swift_library_fix'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/2.2.0/tmpdir.rb:88:in `mktmpdir'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/xcodebuild_fixes/swift_fix.rb:20:in `swift_library_fix'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/runner.rb:83:in `fix_package'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/runner.rb:21:in `run'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/gym-1.8.0/lib/gym/manager.rb:10:in `work'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/actions/gym.rb:22:in `run'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:190:in `block (2 levels) in execute_action'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/actions/actions_helper.rb:35:in `execute_action'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:175:in `block in execute_action'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:174:in `chdir'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:174:in `execute_action'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:100:in `trigger_action_by_name'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/fast_file.rb:140:in `method_missing'
Fastfile:208:in `create_orangina_distribution_ipa'
Fastfile:254:in `create_orangina_for_hockey_application'
Fastfile:67:in `block in parsing_binding'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/lane.rb:33:in `call'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/lane.rb:33:in `call'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:49:in `block in execute'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:45:in `chdir'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/runner.rb:45:in `execute'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/lane_manager.rb:46:in `cruise_lane'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/command_line_handler.rb:30:in `handle'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/commands_generator.rb:49:in `block (2 levels) in run'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/commander-4.4.0/lib/commander/command.rb:178:in `call'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/commander-4.4.0/lib/commander/command.rb:178:in `call'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/commander-4.4.0/lib/commander/command.rb:153:in `run'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/commander-4.4.0/lib/commander/runner.rb:444:in `run_active_command'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane_core-0.50.3/lib/fastlane_core/ui/fastlane_runner.rb:36:in `run!'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/commander-4.4.0/lib/commander/delegates.rb:15:in `run!'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/commands_generator.rb:246:in `run'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/commands_generator.rb:20:in `start'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/lib/fastlane/cli_tools_distributor.rb:58:in `take_off'
/Users/brianmichel/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/fastlane-1.102.0/bin/fastlane:5:in `<top (required)>'
/Users/brianmichel/.rbenv/versions/2.2.4/bin/fastlane:23:in `load'
/Users/brianmichel/.rbenv/versions/2.2.4/bin/fastlane:23:in `<top (required)>'
Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
require_relative './scan_result_processor.rb'
# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.102.0"
before_all do
ENV["SLACK_URL"] = "slack_hook_url"
puts 'Deleting old build folder'
`rm -rf ../build`
end
lane :test do
xcclean(
workspace: "Orangina.xcworkspace",
scheme: "Orangina"
)
xctest(
workspace: "Orangina.xcworkspace",
scheme: "Orangina",
report_formats: ["junit"],
destination: "name=iPhone 6s,OS=10.0"
)
end
lane :uitest do
device_id = get_device_id
set_environment_for_fastlane(:development)
xcclean(
workspace: "Orangina.xcworkspace",
scheme: "Orangina"
)
scan(
workspace: "Orangina.xcworkspace",
scheme: scheme,
skip_build: true,
skip_slack: true,
destination: "platform=iOS,id=#{device_id}"
)
end
lane :uitest_multiple_devices do
remaining_destinations = process_multiple_udids
first_device_id = get_device_id
set_environment_for_fastlane(:development)
xcclean(
workspace: "Orangina.xcworkspace",
scheme: "Orangina"
)
scan(
workspace: "Orangina.xcworkspace",
scheme: scheme,
skip_build: true,
skip_slack: true,
destination: "platform=iOS,id=#{first_device_id}",
xcargs: remaining_destinations
)
end
lane :beta do
set_environment_for_fastlane(:development)
create_orangina_for_hockey_application("app_id", "Beta")
end
lane :alpha do
set_environment_for_fastlane(:development)
create_orangina_for_hockey_application("app_id", "Alpha")
end
# You can define as many lanes as you want
after_all do |lane|
case lane
when :alpha
notify_new_hockey_version("alpha", Actions.lane_context)
when :beta
notify_new_hockey_version("beta", Actions.lane_context)
when :uitest
notify_test_results(scheme) if slack_initiated
when :appstore
notify_new_hockey_version("app store", Actions.lane_context)
when :test
end
end
error do |lane, exception|
# Something bad happened
# TODO send slack messages for build exceptions
#
case lane
when :test
puts "Tests failed for reason #{exception}"
when :alpha
when :beta
when :appstore
slack({
message: "There was some kind of error making a new build for #{lane} :(",
success: false
})
when :uitest
notify_test_results(scheme) if slack_initiated
end
end
# Helper functions
def notify_new_hockey_version(build_type, lane_context)
install_url = lane_context[Fastlane::Actions::SharedValues::HOCKEY_DOWNLOAD_LINK]
build_information = lane_context[Fastlane::Actions::SharedValues::HOCKEY_BUILD_INFORMATION]
config_url = build_information["config_url"]
title = build_information["title"]
build_number = build_information["version"]
app_version = build_information["shortversion"]
slack({
message: "A new #{build_type} version of #{title} has been uploaded to HockeyApp! This is build #{build_number} for version #{app_version}",
success: true,
payload: {
":calling:" => "<#{install_url}|Install>",
":pencil2:" => "<#{config_url}/edit|Edit>"
},
default_payloads: []
})
end
def notify_test_results(test_type)
result = ScanResultProcessor.new("./test_output/report.junit")
message = "The UI #{test_type} has finished! #{result.result_string}"
requester_slack_name_known = ENV['REQUESTER_SLACK_NAME'] != ""
if requester_slack_name_known
message.prepend("Hey, @#{ENV['REQUESTER_SLACK_NAME']}! ")
end
slack({
message: message,
success: result.success
})
end
def update_development_lane_profiles
ENV["ORANGINA_SHARE_PROVISIONING_PROFILE"] = sigh({
app_identifier: "identifier_name",
skip_certificate_verification: true
})
ENV["ORANGINA_PROVISIONING_PROFILE"] = sigh({
app_identifier: "identifier_name",
skip_certificate_verification: true
})
ENV["ORANGINA_TODAY_PROVISIONING_PROFILE"] = sigh({
app_identifier: "identifier_name",
skip_certificate_verification: true
})
end
def create_orangina_distribution_ipa(build_configuration)
gym({
workspace: "Orangina.xcworkspace",
scheme: "Orangina",
configuration: build_configuration,
output_directory: "build",
clean: true,
provisioning_profile_path: "profile.mobileprovision",
include_symbols: true,
include_bitcode: false,
export_method: "enterprise",
use_legacy_build_api: true
})
end
def upload_hockey_ipa(app_identifier)
hockey({
api_token: "api_token",
public_identifier: app_identifier,
tags: "devs"
})
end
def bump_version_for_hockey_application(app_identifier)
next_version = next_version_for_hockey_application(app_identifier)
increment_build_number build_number: "#{next_version}"
end
def next_version_for_hockey_application(app_identifier)
server = "https://version_server_url/next_version"
next_version = `curl #{server}/#{app_identifier}`
case next_version
when ""
raise "Failed to reach versioning server #{server}".red
when "-1"
raise "Failed to retrieve valid version from server".red
end
return next_version
end
def create_orangina_for_hockey_application(app_identifier, build_configuration)
update_development_lane_profiles
bump_version_for_hockey_application(app_identifier)
create_orangina_distribution_ipa(build_configuration)
upload_hockey_ipa(app_identifier)
end
def log_mode(mode)
Helper.log.info "Using #{mode.capitalize} Mode For Certificates & Team".yellow
end
def slack_initiated
return ENV["SLACK_INITIATED"] == "true"
end
def set_environment_for_fastlane(env)
ENV["SIGH_USER_NAME"] ||= "redacted"
ENV["DELIVER_USER"] ||= "redacted"
ENV["SIGH_SKIP_CERTIFICATE_VERIFICATION"] = "true"
identifier = "redacted"
team_id = "redacted"
case env
when :production
log_mode(env)
identifier = "redacted"
team_id = "redacted"
when :development
log_mode(env)
else
Helper.log.info "Unknown environment specified, #{env}, using Development mode".red
end
ENV["SIGH_APP_IDENTIFIER"] = identifier
ENV["SIGH_TEAM_ID"] = team_id
end
def get_device_id
case ENV["DEVICE_UDID"]
when nil
raise "You did not specify a device ID with env var DEVICE_UDID. Specify a device ID if you wish to run a test on device.".red
else
return ENV["DEVICE_UDID"]
end
end
def process_multiple_udids
udids = []
unless ENV["DEVICE_UDIDS"].nil?
udids = ENV["DEVICE_UDIDS"].split(" ")
else
raise "DEVICE_UDIDS was not set. Specify space-separated UDIDs and assign it to the env var DEVICE_UDIDS".red
end
multiple_destinations = ""
ENV["DEVICE_UDID"] = udids.shift
unless udids.empty?
udids.each do |udid|
multiple_destinations << "-destination \'platform=iOS,id=#{udid}\' "
end
else
raise "There was only one UDID in DEVICE_UDIDS. Use the uitest lane to run a test on a single destination using DEVICE_UDID".red
end
return multiple_destinations
end
def scheme
return ENV["SCHEME"] ||= "P1Tests"
end
Environment
fastlane version (run fastlane -v): fastlane 1.102.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)? yes
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)? yes
Xcode beta directory output:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos
total 166440
drwxr-xr-x@ 35 brianmichel staff 1.2K Aug 12 22:54 .
drwxr-xr-x@ 12 brianmichel staff 408B Aug 30 19:11 ..
drwxr-xr-x@ 109 brianmichel staff 3.6K Aug 12 23:03 arm64
drwxr-xr-x@ 109 brianmichel staff 3.6K Aug 12 23:03 armv7
drwxr-xr-x@ 109 brianmichel staff 3.6K Aug 12 23:03 armv7s
-rwxr-xr-x@ 1 brianmichel staff 440K Aug 12 22:54 libswiftAVFoundation.dylib
-rwxr-xr-x@ 1 brianmichel staff 252K Aug 12 22:54 libswiftAssetsLibrary.dylib
-rwxr-xr-x@ 1 brianmichel staff 517K Aug 12 22:54 libswiftCallKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 391K Aug 12 22:54 libswiftCloudKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 390K Aug 12 22:54 libswiftContacts.dylib
-rwxr-xr-x@ 1 brianmichel staff 43M Aug 12 22:54 libswiftCore.dylib
-rwxr-xr-x@ 1 brianmichel staff 754K Aug 12 22:54 libswiftCoreAudio.dylib
-rwxr-xr-x@ 1 brianmichel staff 633K Aug 12 22:54 libswiftCoreData.dylib
-rwxr-xr-x@ 1 brianmichel staff 1.0M Aug 12 22:54 libswiftCoreGraphics.dylib
-rwxr-xr-x@ 1 brianmichel staff 250K Aug 12 22:54 libswiftCoreImage.dylib
-rwxr-xr-x@ 1 brianmichel staff 389K Aug 12 22:54 libswiftCoreLocation.dylib
-rwxr-xr-x@ 1 brianmichel staff 439K Aug 12 22:54 libswiftCoreMedia.dylib
-rwxr-xr-x@ 1 brianmichel staff 496K Aug 12 22:54 libswiftDarwin.dylib
-rwxr-xr-x@ 1 brianmichel staff 2.4M Aug 12 22:54 libswiftDispatch.dylib
-rwxr-xr-x@ 1 brianmichel staff 16M Aug 12 22:54 libswiftFoundation.dylib
-rwxr-xr-x@ 1 brianmichel staff 304K Aug 12 22:54 libswiftGLKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 303K Aug 12 22:54 libswiftGameplayKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 336K Aug 12 22:54 libswiftHomeKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 434K Aug 12 22:54 libswiftIntents.dylib
-rwxr-xr-x@ 1 brianmichel staff 476K Aug 12 22:54 libswiftObjectiveC.dylib
-rwxr-xr-x@ 1 brianmichel staff 252K Aug 12 22:54 libswiftPhotos.dylib
-rwxr-xr-x@ 1 brianmichel staff 911K Aug 12 22:54 libswiftRemoteMirror.dylib
-rwxr-xr-x@ 1 brianmichel staff 388K Aug 12 22:54 libswiftSceneKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 340K Aug 12 22:54 libswiftSpriteKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 5.8M Aug 12 22:54 libswiftSwiftOnoneSupport.dylib
-rwxr-xr-x@ 1 brianmichel staff 675K Aug 12 22:54 libswiftUIKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 304K Aug 12 22:54 libswiftWatchKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 661K Aug 12 22:54 libswiftXCTest.dylib
-rwxr-xr-x@ 1 brianmichel staff 385K Aug 12 22:54 libswiftos.dylib
-rwxr-xr-x@ 1 brianmichel staff 2.8M Aug 12 22:54 libswiftsimd.dylib
Interestingly enough, the correct file does exist if you look in the Swift 2.3 toolchain folder:
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/swift/iphoneos
total 120640
drwxr-xr-x@ 39 brianmichel staff 1.3K Aug 12 22:54 .
drwxr-xr-x@ 11 brianmichel staff 374B Aug 30 19:11 ..
drwxr-xr-x@ 78 brianmichel staff 2.6K Aug 12 23:03 arm64
drwxr-xr-x@ 78 brianmichel staff 2.6K Aug 12 23:03 armv7
drwxr-xr-x@ 78 brianmichel staff 2.6K Aug 12 23:03 armv7s
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftAVFoundation.dylib
-rwxr-xr-x@ 1 brianmichel staff 252K Aug 12 22:54 libswiftAssetsLibrary.dylib
-rwxr-xr-x@ 1 brianmichel staff 731K Aug 12 22:54 libswiftCallKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftCloudKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 304K Aug 12 22:54 libswiftContacts.dylib
-rwxr-xr-x@ 1 brianmichel staff 39M Aug 12 22:54 libswiftCore.dylib
-rwxr-xr-x@ 1 brianmichel staff 633K Aug 12 22:54 libswiftCoreAudio.dylib
-rwxr-xr-x@ 1 brianmichel staff 340K Aug 12 22:54 libswiftCoreBluetooth.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftCoreData.dylib
-rwxr-xr-x@ 1 brianmichel staff 781K Aug 12 22:54 libswiftCoreGraphics.dylib
-rwxr-xr-x@ 1 brianmichel staff 250K Aug 12 22:54 libswiftCoreImage.dylib
-rwxr-xr-x@ 1 brianmichel staff 336K Aug 12 22:54 libswiftCoreLocation.dylib
-rwxr-xr-x@ 1 brianmichel staff 440K Aug 12 22:54 libswiftCoreMedia.dylib
-rwxr-xr-x@ 1 brianmichel staff 532K Aug 12 22:54 libswiftDarwin.dylib
-rwxr-xr-x@ 1 brianmichel staff 336K Aug 12 22:54 libswiftDispatch.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftEventKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 4.5M Aug 12 22:54 libswiftFoundation.dylib
-rwxr-xr-x@ 1 brianmichel staff 304K Aug 12 22:54 libswiftGLKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 338K Aug 12 22:54 libswiftGameKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 252K Aug 12 22:54 libswiftGameplayKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftHomeKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 486K Aug 12 22:54 libswiftIntents.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftLocalAuthentication.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftMultipeerConnectivity.dylib
-rwxr-xr-x@ 1 brianmichel staff 448K Aug 12 22:54 libswiftObjectiveC.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftPassKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 388K Aug 12 22:54 libswiftSceneKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 395K Aug 12 22:54 libswiftSpriteKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 540K Aug 12 22:54 libswiftUIKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftWatchConnectivity.dylib
-rwxr-xr-x@ 1 brianmichel staff 392K Aug 12 22:54 libswiftWatchKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 337K Aug 12 22:54 libswiftWebKit.dylib
-rwxr-xr-x@ 1 brianmichel staff 659K Aug 12 22:54 libswiftXCTest.dylib
-rwxr-xr-x@ 1 brianmichel staff 2.7M Aug 12 22:54 libswiftsimd.dylib
iphoneos %
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 30 (2 by maintainers)
Thanks, No I fixed it bu using
use_legacy_build_api: falseand selecting correct Xcode tools chainWe pushed a new release of gym today which should fix some of the issues you mention, let us know if that works π
@nafu good news, removing the legacy api flag seemed to have worked! Thanks for talking this out with me, have a nice day.
Yeah, great to hear everybody π
@apouche Create a new issue, Iβd love to help out! π π―
@brianmichel
Here is the sample that works with Xcode 8 (Swift 2.3). Check this out!
https://github.com/nafu/FastlaneWebKitFailure/tree/xcode-8-with-swift2.3
@nafu the output is incredibly long and contains many source file names that I canβt necessarily redact, but the command used to start the build is
bundle exec fastlane beta