Skip to content

Test artifacts and downloads

Marathon Cloud stores all test results, logs, and recordings generated during a run.

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.

Use the marathon-cloud download command to retrieve artifacts after a run completes.

Terminal window
marathon-cloud download --id RUN_ID --output ./results

Use the --glob flag to download specific files or directories.

Terminal window
# Download JUnit XML only for CI reporting
marathon-cloud download --id $RUN_ID --output ./results --glob 'tests/**'
# Download videos only for debugging failures
marathon-cloud download --id $RUN_ID --output ./results --glob 'video/**'
# Download Allure report only
marathon-cloud download --id $RUN_ID --output ./results --glob 'report/**'

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.

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