-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaction.yaml
127 lines (127 loc) · 5.84 KB
/
action.yaml
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
name: Run tests using Marathon Cloud
description: Run tests using Marathon Cloud
inputs:
version:
description: marathon-cloud cli version to use
required: true
apiKey:
description: "API key for authenticating with Marathon Cloud"
required: true
application:
description: "Application binary path, e.g. apk file for Android or zip file of iOS Application"
required: true
testApplication:
description: "Test application binary path, e.g. apk file for Android or zip file of iOS Test Runner app"
required: true
platform:
description: "Testing platform. Android or iOS only"
required: true
osVersion:
description: "Android or iOS OS version. For Android one of [10, 11, 12, 13, 14]. For iOS one of [16.4, 17.2]"
required: false
systemImage:
description: "OS-specific system image. For Android one of [default,google_apis]. For iOS only [default]"
link:
description: "Link to commit"
required: false
output:
description: "Output folder for test run results"
required: false
outputGlob:
description: "Only files matching this glob will be downloaded, i.e. 'tests/**' will download only the JUnit xml files"
required: false
isolated:
description: "Run each test in isolation, i.e. isolated batching"
required: false
flavor:
description: "Type of tests to run. Default: [native]. Possible values: [native, js-test-appium, python-robotframework-appium]"
required: false
filterFile:
description: "File containing test filters in YAML format, following the schema described at https://docs.marathonlabs.io/runner/configuration/filtering/#filtering-logic. For iOS see also https://docs.marathonlabs.io/runner/next/ios#test-plans."
required: false
wait:
description: "Wait for test run to finish if true, exits after triggering a run if false. Defaults to true"
default: "true"
required: false
name:
description: "Name for run, for example it could be description of commit"
required: false
device:
description: "Device type. For Android one of [phone, tv, watch]. For iOS one of [iPhone-14, iPhone-15]"
required: false
xcodeVersion:
description: "Xcode version. Only for iOS. Possible values: [14.3.1, 15.2]"
required: false
xctestplanFilterFile:
description: "Test filters supplied as .xctestplan file"
required: false
xctestplanTargetName:
description: "Target name to use for test filtering in .xctestplan"
required: false
xctestrunEnv:
description: "xctestrun environment variables, format: 'VAR1=VALUE1,VAR2=VALUE2'"
required: false
xctestrunTestEnv:
description: "xctestrun testing environment variables, format: 'VAR1=VALUE1,VAR2=VALUE2'"
required: false
ignoreTestFailures:
description: "When tests fail and this option is true then GHA will exit with code 0. By default, GHA will exit with code 1 in case of test failures and 0 for passing tests [possible values: true, false]"
required: false
pullFiles:
description: "Pull files from devices after the test run. The format is 'ROOT1:PATH1,ROOT2:PATH2' where ROOT is one of [EXTERNAL_STORAGE, APP_DATA] and PATH is a relative path to the target file or directory. Example: EXTERNAL_STORAGE:Documents/some-results,APP_DATA:files/my_folder/some_file.txt. Note: Files with the same name and path from different devices may overwrite each other."
required: false
resultFile:
description: "Result file path in a machine-readable format. You can specify the format via extension [yaml,json]. Default file: result.json"
required: false
branch:
description: "Branch for run, for example it could be git branch like develop or feature/about-screen"
required: false
project:
description: "The unique identifier (slug) for the project"
required: false
grantedPermission:
description: "Grant permission to application. Important: Granting is conducted before each test batch (not each test). If you need to grant before each test, please use --isolated mode. Available permissions: calendar, contacts-limited, contacts, location, location-always, photos-add, photos, media-library, microphone, motion, reminders, siri. Format: 'motion,siri'"
required: false
analyticsReadOnly:
description: "If true then test run will not affect any statistical measurements [possible values: true, false]"
required: false
branding:
color: purple
icon: play-circle
runs:
using: composite
steps:
- name: Setup marathon-cloud
uses: MarathonLabs/[email protected]
with:
version: ${{ inputs.version }}
- name: Run tests using marathon-cloud
uses: MarathonLabs/[email protected]
with:
apiKey: ${{ inputs.apiKey }}
application: ${{ inputs.application }}
testApplication: ${{ inputs.testApplication }}
platform: ${{ inputs.platform }}
osVersion: ${{ inputs.osVersion }}
systemImage: ${{ inputs.systemImage }}
link: ${{ inputs.link }}
output: ${{ inputs.output }}
outputGlob: ${{ inputs.outputGlob }}
isolated: ${{ inputs.isolated }}
flavor: ${{ inputs.flavor }}
filterFile: ${{ inputs.filterFile }}
wait: ${{ inputs.wait }}
name: ${{ inputs.name }}
device: ${{ inputs.device }}
xcodeVersion: ${{ inputs.xcodeVersion }}
xctestplanFilterFile: ${{ inputs.xctestplanFilterFile }}
xctestplanTargetName: ${{ inputs.xctestplanTargetName }}
xctestrunEnv: ${{ inputs.xctestrunEnv }}
xctestrunTestEnv: ${{ inputs.xctestrunTestEnv }}
ignoreTestFailures: ${{ inputs.ignoreTestFailures }}
pullFiles: ${{ inputs.pullFiles }}
resultFile: ${{ inputs.resultFile }}
branch: ${{ inputs.branch }}
project: ${{ inputs.project }}
grantedPermission: ${{ inputs.grantedPermission }}
analyticsReadOnly: ${{ inputs.analyticsReadOnly }}