snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb in fastlane-2.67.0.beta.20171127010003 vs snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb in fastlane-2.67.0.beta.20171128010003
- old
+ new
@@ -29,10 +29,13 @@
File.delete(log_path) if File.exist?(log_path)
# Break up the array of devices into chunks that can
# be run simultaneously.
if launcher_config.concurrent_simulators?
- device_batches = launcher_config.devices.each_slice(default_number_of_simultaneous_simulators).to_a
+ all_devices = launcher_config.devices
+ # We have to break up the concurrent simulators by device version too, otherwise there is an error (see #10969)
+ by_simulator_version = all_devices.group_by { |d| FastlaneCore::DeviceManager.latest_simulator_version_for_device(d) }.values
+ device_batches = by_simulator_version.flat_map { |a| a.each_slice(default_number_of_simultaneous_simulators).to_a }
else
# Put each device in it's own array to run tests one at a time
device_batches = launcher_config.devices.map { |d| [d] }
end