fastlane 2.201.0 → 2.203.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +88 -88
  3. data/deliver/lib/deliver/runner.rb +19 -2
  4. data/deliver/lib/deliver/submit_for_review.rb +25 -3
  5. data/fastlane/lib/fastlane/actions/run_tests.rb +18 -2
  6. data/fastlane/lib/fastlane/actions/xcov.rb +5 -0
  7. data/fastlane/lib/fastlane/version.rb +1 -1
  8. data/fastlane/swift/Deliverfile.swift +1 -1
  9. data/fastlane/swift/DeliverfileProtocol.swift +1 -1
  10. data/fastlane/swift/Fastlane.swift +177 -157
  11. data/fastlane/swift/Gymfile.swift +1 -1
  12. data/fastlane/swift/GymfileProtocol.swift +1 -1
  13. data/fastlane/swift/Matchfile.swift +1 -1
  14. data/fastlane/swift/MatchfileProtocol.swift +1 -1
  15. data/fastlane/swift/Precheckfile.swift +1 -1
  16. data/fastlane/swift/PrecheckfileProtocol.swift +1 -1
  17. data/fastlane/swift/Scanfile.swift +1 -1
  18. data/fastlane/swift/ScanfileProtocol.swift +6 -2
  19. data/fastlane/swift/Screengrabfile.swift +1 -1
  20. data/fastlane/swift/ScreengrabfileProtocol.swift +1 -1
  21. data/fastlane/swift/Snapshotfile.swift +1 -1
  22. data/fastlane/swift/SnapshotfileProtocol.swift +1 -1
  23. data/fastlane/swift/formatting/Brewfile.lock.json +14 -14
  24. data/fastlane_core/lib/fastlane_core/.helper.rb.swp +0 -0
  25. data/scan/lib/scan/.detect_values.rb.swp +0 -0
  26. data/scan/lib/scan/.runner.rb.swp +0 -0
  27. data/scan/lib/scan/error_handler.rb +9 -0
  28. data/scan/lib/scan/options.rb +6 -1
  29. data/scan/lib/scan/runner.rb +36 -9
  30. data/scan/lib/scan/test_command_generator.rb +8 -3
  31. data/spaceship/lib/spaceship/connect_api/models/app.rb +2 -1
  32. data/trainer/lib/trainer/options.rb +11 -0
  33. metadata +25 -22
@@ -8600,6 +8600,7 @@ public func rubyVersion() {
8600
8600
  - outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
8601
8601
  - resultBundle: Should an Xcode result bundle be generated in the output directory
8602
8602
  - useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
8603
+ - parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
8603
8604
  - concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
8604
8605
  - maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
8605
8606
  - disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
@@ -8629,86 +8630,89 @@ public func rubyVersion() {
8629
8630
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
8630
8631
  - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
8631
8632
  - useSystemScm: Lets xcodebuild use system's scm configuration
8632
- - numberOfRetries: The number of times a test can fail before scan should stop retrying
8633
+ - numberOfRetries: The number of times a test can fail
8633
8634
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
8634
8635
 
8636
+ - returns: Outputs has of results with :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries
8637
+
8635
8638
  More information: https://docs.fastlane.tools/actions/scan/
8636
8639
  */
8637
- public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8638
- project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8639
- packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8640
- scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8641
- device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8642
- devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8643
- skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8644
- ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8645
- forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8646
- resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8647
- disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(true),
8648
- prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8649
- reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8650
- appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8651
- onlyTesting: Any? = nil,
8652
- skipTesting: Any? = nil,
8653
- testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8654
- onlyTestConfigurations: Any? = nil,
8655
- skipTestConfigurations: Any? = nil,
8656
- xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8657
- toolchain: Any? = nil,
8658
- clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8659
- codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8660
- addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8661
- threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8662
- openReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8663
- outputDirectory: String = "./test_output",
8664
- outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8665
- outputTypes: String = "html,junit",
8666
- outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8667
- buildlogPath: String = "~/Library/Logs/scan",
8668
- includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8669
- suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8670
- xcodebuildFormatter: String = "xcbeautify",
8671
- outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8672
- disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8673
- formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8674
- xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8675
- xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8676
- derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8677
- shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8678
- outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8679
- resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8680
- useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8681
- concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8682
- maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8683
- disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8684
- skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8685
- testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8686
- buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8687
- sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8688
- configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8689
- xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8690
- xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8691
- appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8692
- deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8693
- slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8694
- slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8695
- slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8696
- slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8697
- slackUsername: String = "fastlane",
8698
- slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
8699
- skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8700
- slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8701
- slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8702
- destination: Any? = nil,
8703
- catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8704
- customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8705
- xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
8706
- clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8707
- skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8708
- disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8709
- useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8710
- numberOfRetries: Int = 0,
8711
- failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true))
8640
+ @discardableResult public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8641
+ project: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8642
+ packagePath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8643
+ scheme: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8644
+ device: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8645
+ devices: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8646
+ skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8647
+ ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8648
+ forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8649
+ resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8650
+ disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(true),
8651
+ prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8652
+ reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8653
+ appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8654
+ onlyTesting: Any? = nil,
8655
+ skipTesting: Any? = nil,
8656
+ testplan: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8657
+ onlyTestConfigurations: Any? = nil,
8658
+ skipTestConfigurations: Any? = nil,
8659
+ xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8660
+ toolchain: Any? = nil,
8661
+ clean: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8662
+ codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8663
+ addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8664
+ threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8665
+ openReport: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8666
+ outputDirectory: String = "./test_output",
8667
+ outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8668
+ outputTypes: String = "html,junit",
8669
+ outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8670
+ buildlogPath: String = "~/Library/Logs/scan",
8671
+ includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8672
+ suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8673
+ xcodebuildFormatter: String = "xcbeautify",
8674
+ outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8675
+ disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8676
+ formatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8677
+ xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8678
+ xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8679
+ derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8680
+ shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8681
+ outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8682
+ resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8683
+ useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8684
+ parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8685
+ concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8686
+ maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(nil),
8687
+ disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8688
+ skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8689
+ testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8690
+ buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(nil),
8691
+ sdk: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8692
+ configuration: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8693
+ xcargs: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8694
+ xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8695
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8696
+ deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8697
+ slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8698
+ slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8699
+ slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8700
+ slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8701
+ slackUsername: String = "fastlane",
8702
+ slackIconUrl: String = "https://fastlane.tools/assets/img/fastlane_icon.png",
8703
+ skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8704
+ slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8705
+ slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(nil),
8706
+ destination: Any? = nil,
8707
+ catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8708
+ customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8709
+ xcodebuildCommand: String = "env NSUnbufferedIO=YES xcodebuild",
8710
+ clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(nil),
8711
+ skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8712
+ disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8713
+ useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(false),
8714
+ numberOfRetries: Int = 0,
8715
+ failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true)) -> [String: Any]
8712
8716
  {
8713
8717
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
8714
8718
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -8754,6 +8758,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8754
8758
  let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
8755
8759
  let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
8756
8760
  let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
8761
+ let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
8757
8762
  let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
8758
8763
  let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
8759
8764
  let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
@@ -8829,6 +8834,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8829
8834
  outputXctestrunArg,
8830
8835
  resultBundleArg,
8831
8836
  useClangReportNameArg,
8837
+ parallelTestingArg,
8832
8838
  concurrentWorkersArg,
8833
8839
  maxConcurrentSimulatorsArg,
8834
8840
  disableConcurrentTestingArg,
@@ -8864,7 +8870,7 @@ public func runTests(workspace: OptionalConfigValue<String?> = .fastlaneDefault(
8864
8870
  .filter { $0?.value != nil }
8865
8871
  .compactMap { $0 }
8866
8872
  let command = RubyCommand(commandID: "", methodName: "run_tests", className: nil, args: args)
8867
- _ = runner.executeCommand(command)
8873
+ return parseDictionary(fromString: runner.executeCommand(command))
8868
8874
  }
8869
8875
 
8870
8876
  /**
@@ -9017,6 +9023,7 @@ public func say(text: [String],
9017
9023
  - outputXctestrun: Should provide additional copy of .xctestrun file (settings.xctestrun) and place in output path?
9018
9024
  - resultBundle: Should an Xcode result bundle be generated in the output directory
9019
9025
  - useClangReportName: Generate the json compilation database with clang naming convention (compile_commands.json)
9026
+ - parallelTesting: Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
9020
9027
  - concurrentWorkers: Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
9021
9028
  - maxConcurrentSimulators: Constrain the number of simulator devices on which to test concurrently. Equivalent to -maximum-concurrent-test-simulator-destinations
9022
9029
  - disableConcurrentTesting: Do not run test bundles in parallel on the specified destinations. Testing will occur on each destination serially. Equivalent to -disable-concurrent-testing
@@ -9046,86 +9053,89 @@ public func say(text: [String],
9046
9053
  - skipPackageDependenciesResolution: Skips resolution of Swift Package Manager dependencies
9047
9054
  - disablePackageAutomaticUpdates: Prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
9048
9055
  - useSystemScm: Lets xcodebuild use system's scm configuration
9049
- - numberOfRetries: The number of times a test can fail before scan should stop retrying
9056
+ - numberOfRetries: The number of times a test can fail
9050
9057
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're using trainer
9051
9058
 
9059
+ - returns: Outputs has of results with :number_of_tests, :number_of_failures, :number_of_retries, :number_of_tests_excluding_retries, :number_of_failures_excluding_retries
9060
+
9052
9061
  More information: https://docs.fastlane.tools/actions/scan/
9053
9062
  */
9054
- public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
9055
- project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
9056
- packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
9057
- scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
9058
- device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
9059
- devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
9060
- skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipDetectDevices),
9061
- ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.ensureDevicesFound),
9062
- forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceQuitSimulator),
9063
- resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resetSimulator),
9064
- disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableSlideToType),
9065
- prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.prelaunchSimulator),
9066
- reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.reinstallApp),
9067
- appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appIdentifier),
9068
- onlyTesting: Any? = scanfile.onlyTesting,
9069
- skipTesting: Any? = scanfile.skipTesting,
9070
- testplan: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.testplan),
9071
- onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
9072
- skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
9073
- xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xctestrun),
9074
- toolchain: Any? = scanfile.toolchain,
9075
- clean: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.clean),
9076
- codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.codeCoverage),
9077
- addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.addressSanitizer),
9078
- threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.threadSanitizer),
9079
- openReport: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.openReport),
9080
- outputDirectory: String = scanfile.outputDirectory,
9081
- outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputStyle),
9082
- outputTypes: String = scanfile.outputTypes,
9083
- outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputFiles),
9084
- buildlogPath: String = scanfile.buildlogPath,
9085
- includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.includeSimulatorLogs),
9086
- suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
9087
- xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
9088
- outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
9089
- disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
9090
- formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
9091
- xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
9092
- xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyArgs),
9093
- derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.derivedDataPath),
9094
- shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.shouldZipBuildProducts),
9095
- outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputXctestrun),
9096
- resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resultBundle),
9097
- useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useClangReportName),
9098
- concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.concurrentWorkers),
9099
- maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.maxConcurrentSimulators),
9100
- disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableConcurrentTesting),
9101
- skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipBuild),
9102
- testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.testWithoutBuilding),
9103
- buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.buildForTesting),
9104
- sdk: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.sdk),
9105
- configuration: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.configuration),
9106
- xcargs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcargs),
9107
- xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcconfig),
9108
- appName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appName),
9109
- deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.deploymentTargetVersion),
9110
- slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackUrl),
9111
- slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackChannel),
9112
- slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackMessage),
9113
- slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackUseWebhookConfiguredUsernameAndIcon),
9114
- slackUsername: String = scanfile.slackUsername,
9115
- slackIconUrl: String = scanfile.slackIconUrl,
9116
- skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipSlack),
9117
- slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
9118
- slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
9119
- destination: Any? = scanfile.destination,
9120
- catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
9121
- customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9122
- xcodebuildCommand: String = scanfile.xcodebuildCommand,
9123
- clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
9124
- skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
9125
- disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
9126
- useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
9127
- numberOfRetries: Int = scanfile.numberOfRetries,
9128
- failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild))
9063
+ @discardableResult public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.workspace),
9064
+ project: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.project),
9065
+ packagePath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.packagePath),
9066
+ scheme: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.scheme),
9067
+ device: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.device),
9068
+ devices: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.devices),
9069
+ skipDetectDevices: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipDetectDevices),
9070
+ ensureDevicesFound: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.ensureDevicesFound),
9071
+ forceQuitSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.forceQuitSimulator),
9072
+ resetSimulator: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resetSimulator),
9073
+ disableSlideToType: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableSlideToType),
9074
+ prelaunchSimulator: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.prelaunchSimulator),
9075
+ reinstallApp: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.reinstallApp),
9076
+ appIdentifier: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appIdentifier),
9077
+ onlyTesting: Any? = scanfile.onlyTesting,
9078
+ skipTesting: Any? = scanfile.skipTesting,
9079
+ testplan: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.testplan),
9080
+ onlyTestConfigurations: Any? = scanfile.onlyTestConfigurations,
9081
+ skipTestConfigurations: Any? = scanfile.skipTestConfigurations,
9082
+ xctestrun: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xctestrun),
9083
+ toolchain: Any? = scanfile.toolchain,
9084
+ clean: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.clean),
9085
+ codeCoverage: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.codeCoverage),
9086
+ addressSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.addressSanitizer),
9087
+ threadSanitizer: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.threadSanitizer),
9088
+ openReport: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.openReport),
9089
+ outputDirectory: String = scanfile.outputDirectory,
9090
+ outputStyle: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputStyle),
9091
+ outputTypes: String = scanfile.outputTypes,
9092
+ outputFiles: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.outputFiles),
9093
+ buildlogPath: String = scanfile.buildlogPath,
9094
+ includeSimulatorLogs: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.includeSimulatorLogs),
9095
+ suppressXcodeOutput: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.suppressXcodeOutput),
9096
+ xcodebuildFormatter: String = scanfile.xcodebuildFormatter,
9097
+ outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputRemoveRetryAttempts),
9098
+ disableXcpretty: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.disableXcpretty),
9099
+ formatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.formatter),
9100
+ xcprettyFormatter: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyFormatter),
9101
+ xcprettyArgs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcprettyArgs),
9102
+ derivedDataPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.derivedDataPath),
9103
+ shouldZipBuildProducts: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.shouldZipBuildProducts),
9104
+ outputXctestrun: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.outputXctestrun),
9105
+ resultBundle: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.resultBundle),
9106
+ useClangReportName: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useClangReportName),
9107
+ parallelTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.parallelTesting),
9108
+ concurrentWorkers: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.concurrentWorkers),
9109
+ maxConcurrentSimulators: OptionalConfigValue<Int?> = .fastlaneDefault(scanfile.maxConcurrentSimulators),
9110
+ disableConcurrentTesting: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disableConcurrentTesting),
9111
+ skipBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipBuild),
9112
+ testWithoutBuilding: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.testWithoutBuilding),
9113
+ buildForTesting: OptionalConfigValue<Bool?> = .fastlaneDefault(scanfile.buildForTesting),
9114
+ sdk: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.sdk),
9115
+ configuration: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.configuration),
9116
+ xcargs: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcargs),
9117
+ xcconfig: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.xcconfig),
9118
+ appName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.appName),
9119
+ deploymentTargetVersion: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.deploymentTargetVersion),
9120
+ slackUrl: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackUrl),
9121
+ slackChannel: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackChannel),
9122
+ slackMessage: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.slackMessage),
9123
+ slackUseWebhookConfiguredUsernameAndIcon: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackUseWebhookConfiguredUsernameAndIcon),
9124
+ slackUsername: String = scanfile.slackUsername,
9125
+ slackIconUrl: String = scanfile.slackIconUrl,
9126
+ skipSlack: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipSlack),
9127
+ slackOnlyOnFailure: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.slackOnlyOnFailure),
9128
+ slackDefaultPayloads: OptionalConfigValue<[String]?> = .fastlaneDefault(scanfile.slackDefaultPayloads),
9129
+ destination: Any? = scanfile.destination,
9130
+ catalystPlatform: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.catalystPlatform),
9131
+ customReportFileName: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.customReportFileName),
9132
+ xcodebuildCommand: String = scanfile.xcodebuildCommand,
9133
+ clonedSourcePackagesPath: OptionalConfigValue<String?> = .fastlaneDefault(scanfile.clonedSourcePackagesPath),
9134
+ skipPackageDependenciesResolution: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.skipPackageDependenciesResolution),
9135
+ disablePackageAutomaticUpdates: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.disablePackageAutomaticUpdates),
9136
+ useSystemScm: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.useSystemScm),
9137
+ numberOfRetries: Int = scanfile.numberOfRetries,
9138
+ failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(scanfile.failBuild)) -> [String: Any]
9129
9139
  {
9130
9140
  let workspaceArg = workspace.asRubyArgument(name: "workspace", type: nil)
9131
9141
  let projectArg = project.asRubyArgument(name: "project", type: nil)
@@ -9171,6 +9181,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9171
9181
  let outputXctestrunArg = outputXctestrun.asRubyArgument(name: "output_xctestrun", type: nil)
9172
9182
  let resultBundleArg = resultBundle.asRubyArgument(name: "result_bundle", type: nil)
9173
9183
  let useClangReportNameArg = useClangReportName.asRubyArgument(name: "use_clang_report_name", type: nil)
9184
+ let parallelTestingArg = parallelTesting.asRubyArgument(name: "parallel_testing", type: nil)
9174
9185
  let concurrentWorkersArg = concurrentWorkers.asRubyArgument(name: "concurrent_workers", type: nil)
9175
9186
  let maxConcurrentSimulatorsArg = maxConcurrentSimulators.asRubyArgument(name: "max_concurrent_simulators", type: nil)
9176
9187
  let disableConcurrentTestingArg = disableConcurrentTesting.asRubyArgument(name: "disable_concurrent_testing", type: nil)
@@ -9246,6 +9257,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9246
9257
  outputXctestrunArg,
9247
9258
  resultBundleArg,
9248
9259
  useClangReportNameArg,
9260
+ parallelTestingArg,
9249
9261
  concurrentWorkersArg,
9250
9262
  maxConcurrentSimulatorsArg,
9251
9263
  disableConcurrentTestingArg,
@@ -9281,7 +9293,7 @@ public func scan(workspace: OptionalConfigValue<String?> = .fastlaneDefault(scan
9281
9293
  .filter { $0?.value != nil }
9282
9294
  .compactMap { $0 }
9283
9295
  let command = RubyCommand(commandID: "", methodName: "scan", className: nil, args: args)
9284
- _ = runner.executeCommand(command)
9296
+ return parseDictionary(fromString: runner.executeCommand(command))
9285
9297
  }
9286
9298
 
9287
9299
  /**
@@ -11433,31 +11445,39 @@ public func testflight(apiKeyPath: OptionalConfigValue<String?> = .fastlaneDefau
11433
11445
  - path: Path to the directory that should be converted
11434
11446
  - extension: The extension for the newly created file. Usually .xml or .junit
11435
11447
  - outputDirectory: Directoy in which the xml files should be written to. Same directory as source by default
11448
+ - outputFilename: Filename the xml file should be written to. Defaults to name of input file. (Only works if one input file is used)
11436
11449
  - failBuild: Should this step stop the build if the tests fail? Set this to false if you're handling this with a test reporter
11437
11450
  - xcprettyNaming: Produces class name and test name identical to xcpretty naming in junit file
11438
11451
  - silent: Silences all output
11452
+ - outputRemoveRetryAttempts: Doesn't include retry attempts in the output
11439
11453
 
11440
11454
  - returns: A hash with the key being the path of the generated file, the value being if the tests were successful
11441
11455
  */
11442
11456
  public func trainer(path: String = ".",
11443
11457
  extension: String = ".xml",
11444
11458
  outputDirectory: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11459
+ outputFilename: OptionalConfigValue<String?> = .fastlaneDefault(nil),
11445
11460
  failBuild: OptionalConfigValue<Bool> = .fastlaneDefault(true),
11446
11461
  xcprettyNaming: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11447
- silent: OptionalConfigValue<Bool> = .fastlaneDefault(false))
11462
+ silent: OptionalConfigValue<Bool> = .fastlaneDefault(false),
11463
+ outputRemoveRetryAttempts: OptionalConfigValue<Bool> = .fastlaneDefault(false))
11448
11464
  {
11449
11465
  let pathArg = RubyCommand.Argument(name: "path", value: path, type: nil)
11450
11466
  let extensionArg = RubyCommand.Argument(name: "extension", value: `extension`, type: nil)
11451
11467
  let outputDirectoryArg = outputDirectory.asRubyArgument(name: "output_directory", type: nil)
11468
+ let outputFilenameArg = outputFilename.asRubyArgument(name: "output_filename", type: nil)
11452
11469
  let failBuildArg = failBuild.asRubyArgument(name: "fail_build", type: nil)
11453
11470
  let xcprettyNamingArg = xcprettyNaming.asRubyArgument(name: "xcpretty_naming", type: nil)
11454
11471
  let silentArg = silent.asRubyArgument(name: "silent", type: nil)
11472
+ let outputRemoveRetryAttemptsArg = outputRemoveRetryAttempts.asRubyArgument(name: "output_remove_retry_attempts", type: nil)
11455
11473
  let array: [RubyCommand.Argument?] = [pathArg,
11456
11474
  extensionArg,
11457
11475
  outputDirectoryArg,
11476
+ outputFilenameArg,
11458
11477
  failBuildArg,
11459
11478
  xcprettyNamingArg,
11460
- silentArg]
11479
+ silentArg,
11480
+ outputRemoveRetryAttemptsArg]
11461
11481
  let args: [RubyCommand.Argument] = array
11462
11482
  .filter { $0?.value != nil }
11463
11483
  .compactMap { $0 }
@@ -13386,4 +13406,4 @@ public let snapshotfile: Snapshotfile = .init()
13386
13406
 
13387
13407
  // Please don't remove the lines below
13388
13408
  // They are used to detect outdated files
13389
- // FastlaneRunnerAPIVersion [0.9.144]
13409
+ // FastlaneRunnerAPIVersion [0.9.148]
@@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.0
20
+ // Generated with fastlane 2.203.0
@@ -204,4 +204,4 @@ public extension GymfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.94]
207
+ // FastlaneRunnerAPIVersion [0.9.98]
@@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.0
20
+ // Generated with fastlane 2.203.0
@@ -192,4 +192,4 @@ public extension MatchfileProtocol {
192
192
 
193
193
  // Please don't remove the lines below
194
194
  // They are used to detect outdated files
195
- // FastlaneRunnerAPIVersion [0.9.88]
195
+ // FastlaneRunnerAPIVersion [0.9.92]
@@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.0
20
+ // Generated with fastlane 2.203.0
@@ -52,4 +52,4 @@ public extension PrecheckfileProtocol {
52
52
 
53
53
  // Please don't remove the lines below
54
54
  // They are used to detect outdated files
55
- // FastlaneRunnerAPIVersion [0.9.87]
55
+ // FastlaneRunnerAPIVersion [0.9.91]
@@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.0
20
+ // Generated with fastlane 2.203.0
@@ -134,6 +134,9 @@ public protocol ScanfileProtocol: class {
134
134
  /// Generate the json compilation database with clang naming convention (compile_commands.json)
135
135
  var useClangReportName: Bool { get }
136
136
 
137
+ /// Optionally override the per-target setting in the scheme for running tests in parallel. Equivalent to -parallel-testing-enabled
138
+ var parallelTesting: Bool? { get }
139
+
137
140
  /// Specify the exact number of test runners that will be spawned during parallel testing. Equivalent to -parallel-testing-worker-count
138
141
  var concurrentWorkers: Int? { get }
139
142
 
@@ -221,7 +224,7 @@ public protocol ScanfileProtocol: class {
221
224
  /// Lets xcodebuild use system's scm configuration
222
225
  var useSystemScm: Bool { get }
223
226
 
224
- /// The number of times a test can fail before scan should stop retrying
227
+ /// The number of times a test can fail
225
228
  var numberOfRetries: Int { get }
226
229
 
227
230
  /// Should this step stop the build if the tests fail? Set this to false if you're using trainer
@@ -273,6 +276,7 @@ public extension ScanfileProtocol {
273
276
  var outputXctestrun: Bool { return false }
274
277
  var resultBundle: Bool { return false }
275
278
  var useClangReportName: Bool { return false }
279
+ var parallelTesting: Bool? { return nil }
276
280
  var concurrentWorkers: Int? { return nil }
277
281
  var maxConcurrentSimulators: Int? { return nil }
278
282
  var disableConcurrentTesting: Bool { return false }
@@ -308,4 +312,4 @@ public extension ScanfileProtocol {
308
312
 
309
313
  // Please don't remove the lines below
310
314
  // They are used to detect outdated files
311
- // FastlaneRunnerAPIVersion [0.9.99]
315
+ // FastlaneRunnerAPIVersion [0.9.103]
@@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.0
20
+ // Generated with fastlane 2.203.0
@@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol {
96
96
 
97
97
  // Please don't remove the lines below
98
98
  // They are used to detect outdated files
99
- // FastlaneRunnerAPIVersion [0.9.89]
99
+ // FastlaneRunnerAPIVersion [0.9.93]
@@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol {
17
17
  // during the `init` process, and you won't see this message
18
18
  }
19
19
 
20
- // Generated with fastlane 2.201.0
20
+ // Generated with fastlane 2.203.0
@@ -204,4 +204,4 @@ public extension SnapshotfileProtocol {
204
204
 
205
205
  // Please don't remove the lines below
206
206
  // They are used to detect outdated files
207
- // FastlaneRunnerAPIVersion [0.9.83]
207
+ // FastlaneRunnerAPIVersion [0.9.87]