-
Notifications
You must be signed in to change notification settings - Fork 25
/
Fastfile
36 lines (29 loc) · 897 Bytes
/
Fastfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
default_platform(:ios)
class LaneConfig < Struct.new(:name, :scheme, :devices)
def args_for_run_tests
ably_env = ENV['ABLY_ENV']
unless ably_env && !ably_env.empty?
raise 'You must provide ABLY_ENV as an environment variable.'
end
{
scheme: scheme,
derived_data_path: "derived_data",
devices: devices,
test_without_building: false,
xcargs: { ABLY_ENV: ably_env, CLANG_ANALYZER_OUTPUT: 'plist-html' },
output_directory: "fastlane/test_output/sdk/#{name}"
}
end
end
platform :ios do
LANE_CONFIGS = [
LaneConfig.new(:test_iOS17_2, "Ably-iOS", ["iPhone 15 (17.2)"]),
LaneConfig.new(:test_tvOS17_2, "Ably-tvOS", ["Apple TV (17.2)"]),
LaneConfig.new(:test_macOS, "Ably-macOS")
]
LANE_CONFIGS.each do |lane_config|
lane(lane_config.name) do
run_tests(**lane_config.args_for_run_tests)
end
end
end