Marathon Cloud stores all test results, logs, and recordings generated during a run.
Retention
Section titled “Retention”Marathon Cloud applies the following retention policies:
- Application binaries: Stored for 7 days.
- Test results and artifacts: Stored for 30 days.
Data is permanently deleted after these periods.
Downloading artifacts
Section titled “Downloading artifacts”Use the marathon-cloud download command to retrieve artifacts after a run completes.
marathon-cloud download --id RUN_ID --output ./resultsFiltering artifacts
Section titled “Filtering artifacts”Use the --glob flag to download specific files or directories.
# Download JUnit XML only for CI reportingmarathon-cloud download --id $RUN_ID --output ./results --glob 'tests/**'
# Download videos only for debugging failuresmarathon-cloud download --id $RUN_ID --output ./results --glob 'video/**'
# Download Allure report onlymarathon-cloud download --id $RUN_ID --output ./results --glob 'report/**'Wait behavior
Section titled “Wait behavior”By default, the download command blocks until the run completes (--wait true). To download artifacts from a previously completed run without waiting, pass the run ID and set --wait false.
Directory structure
Section titled “Directory structure”The downloaded artifacts are organized into the following structure:
<output>/├── tests/omni/│ └── marathon_junit_report.xml # JUnit XML report├── video/omni/│ └── <device-id>/│ └── <TestClass>#<method>-<uuid>.mp4 # Per-test screen recording├── logs/omni/│ └── <device-id>/│ └── <TestClass>#<method>-<uuid>.log # Per-test device logs├── report/│ ├── index.html # Allure report│ └── allure-results/ # Raw Allure data├── html/│ ├── index.html # Marathon HTML report│ ├── pools/│ └── timeline/├── devices/omni/│ └── <device-id>.json # Per-device configuration├── bill/omni/│ └── <device-id>.json # Per-device billing├── device-files.tar # Files pulled from devices (--pull-files)├── parsed_tests.yml # Discovered test list with metadata└── parsed_tests_names.yml # Test names only