marathonlabs/Run tests using Marathon Cloud

Run tests using Marathon Cloud

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit May 13, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: marathonlabs/action-test@0b5b432cda2554084ca6c8088cfafbc2ebf4ce0e # 1.0.21

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
versionmarathon-cloud cli version to useyes
apiKeyAPI key for authenticating with Marathon Cloudyes
applicationApplication binary path, e.g. apk file for Android or zip file of iOS Applicationyes
testApplicationTest application binary path, e.g. apk file for Android or zip file of iOS Test Runner app or folder containing maestro flowyes
platformTesting platform. [Android,iOS,Maestro/Android,Maestro/iOS]yes
osVersionAndroid or iOS OS version. For Android one of [8.1, 9, 10, 11, 12, 13, 14, 15, 16]. For iOS one of [17.5, 18.2, 18.4]no
systemImageOS-specific system image. For Android one of [default,google_apis,google_apis_playstore]. For iOS only [default]no
linkLink to commitno
outputOutput folder for test run resultsno
outputGlobOnly files matching this glob will be downloaded, i.e. 'tests/**' will download only the JUnit xml filesno
isolatedRun each test in isolation, i.e. isolated batchingno
flavorType of tests to run. Default: [native]. Possible values: [native, js-test-appium, python-robotframework-appium]no
filterFileFile 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.no
waitWait for test run to finish if true, exits after triggering a run if false. Defaults to trueno
nameName for run, for example it could be description of commitno
deviceDevice type. For Android one of [phone, tv, watch]. For iOS one of [iPhone-11, iPhone-15, iPhone-15-Pro, iPhone-15-Pro-Max, iPhone-16, iPhone-16-Plus, iPhone-16-Pro, iPhone-16-Pro-Max]no
xcodeVersionXcode version. Only for iOS. Possible values: [15.4, 16.2, 16.3]no
xctestplanFilterFileTest filters supplied as .xctestplan fileno
xctestplanTargetNameTarget name to use for test filtering in .xctestplanno
xctestrunEnvxctestrun environment variables, format: 'VAR1=VALUE1,VAR2=VALUE2'no
xctestrunTestEnvxctestrun testing environment variables, format: 'VAR1=VALUE1,VAR2=VALUE2'no
ignoreTestFailuresWhen 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]no
pullFilesPull 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.no
resultFileResult file path in a machine-readable format. You can specify the format via extension [yaml,json]. Default file: result.jsonno
branchBranch for run, for example it could be git branch like develop or feature/about-screenno
projectThe unique identifier (slug) for the projectno
grantedPermissionGrant 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'no
analyticsReadOnlyIf true then test run will not affect any statistical measurements [possible values: true, false]no
retryQuotaTestUncompletedNumber of allowed uncompleted executions per testno
retryQuotaTestPreventiveNumber of allowed preventive retries per testno
retryQuotaTestReactiveNumber of allowed reactive retries per testno
noRetriesDisable all retries [possible values: true, false]no
maestroEnvmaestro environment variables, format: 'MAESTRO_APP_ID=com.example,MAESTRO_OTHER_VAR=blahblah'no
flowsmaestro flows to execute, all the files specified should be inside the testApplication folder: 'flows/my-flow.yaml,flows/subfolder/flow.yaml'no

no outputs