Build
Connect & operate
Design & teams
Start hereScope a build in one callBring a spec, a wireframe, or a paragraph. You leave with an architecture, a timeline, and a number.Book a scoping call
AI software
LLM & data systems
Vibe coding
Ready to ship?Put AI where the work isAgents, RAG, and private LLMs wired into the systems your team already uses — not a chatbot bolted to a homepage.Discuss an AI project
Domain firstWe learn your workflow before we model itRegulated, operational, or high-volume — the constraints belong in the schema, not in a training doc.Talk about your domain
Plan smarterEstimate before you commitCost ranges, scope templates, and the questions we ask in discovery — free, no form.Open the cost calculator
Real conversationsTalk with a technical leadNo SDR, no discovery gauntlet. The person on the call is the one who scopes the build.Book a call
Open-Source Testing · MarathonLabs

marathon

Marathon is an open-source test orchestration platform for Android and iOS that prioritizes fast, stable test execution through intelligent parallelization, flakiness detection, and retry strategies. It can be self-hosted or run against custom device farms, with native Gradle and Xcode integration.

Source: GitHub — github.com/MarathonLabs/marathon
640
GitHub stars
123
Forks
Kotlin
Primary language
GPL-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryMarathonLabs/marathon
OwnerMarathonLabs
Primary languageKotlin
LicenseGPL-2.0 — OSI-approved
Stars640
Forks123
Open issues69
Latest release0.10.4 (2025-04-18)
Last updated2026-04-29
Sourcehttps://github.com/MarathonLabs/marathon

What marathon is

Kotlin-based test runner implementing test batching, device pooling, intelligent sharding, duration-aware sorting, and statistical flakiness mitigation. Supports Android (Espresso/Instrumentation) and iOS (XCUITest) natively; extensible via custom vendor implementations. Requires Java 17+.

Quickstart

Get the marathon source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/MarathonLabs/marathon.gitcd marathon# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Mobile CI/CD pipelines needing fast, stable test feedback

Marathon's parallelization and flakiness strategies reduce test execution time while improving reliability. Ideal for teams running frequent builds with hundreds of mobile tests.

On-premise or hybrid device farm testing

Supports local execution and remote device connection (via SSH). Suitable for organizations that cannot use cloud testing services or need full infrastructure control.

Large Android/iOS test suites with known flakiness patterns

Preventive retry logic and post-factum retry quotas help manage unstable tests without prolonging build times. Statistical tracking informs optimal retry behavior.

Implementation considerations

  • Requires Java Runtime Environment 17 or higher; verify CI/CD and local developer environments meet this minimum.
  • YAML configuration (Marathonfile and optional Marathondevices) must be maintained; iOS requires manual simulator UDID or provisioning setup.
  • Device pool and worker setup differs between Android (local gradle) and iOS (SSH to macOS instances); budget time for environment hardening.
  • Statistical flakiness tuning (preventive/post-factum retry strategies) benefits from baseline test data; cold starts may see conservative defaults.
  • GPL-2.0 license: any modifications to the core or linking as a library must be evaluated for open-source compliance and release obligations.

When to avoid it — and what to weigh

  • Commercial closed-source distribution or SaaS embedding required — GPL-2.0 license requires source code disclosure. Proprietary modifications cannot be used without releasing source. Consider Marathon Cloud (paid service) or license review.
  • Non-mobile or non-instrumentation testing focus — Designed specifically for Android (Espresso) and iOS (XCUITest). Custom vendor implementations exist but are not documented in primary materials.
  • Minimal DevOps resources or strong cloud-only preference — Self-hosted Marathon requires managing device infrastructure, Java 17 runtime, and orchestration. Marathon Cloud (commercial offering) offloads this.
  • Projects unable to adopt Kotlin tooling or Java 17+ environments — Kotlin-based codebase; requires Java 17+. Integration complexity increases if existing CI/CD lacks Java support.

License & commercial use

GPL-2.0 (GNU General Public License v2.0). Optional components under separate licenses (libxctest-parser). GPL-2.0 is a copyleft license requiring derivative works and linked software to remain open-source.

GPL-2.0 is a strong copyleft license. Internal or private use of unmodified Marathon is permitted. However, any distribution of modifications, integration into proprietary products, or use in closed-source SaaS requires either: (1) releasing source code under GPL-2.0, or (2) obtaining an alternative license. Marathon Cloud is a separate commercial offering for hosted testing. **License review strongly recommended before embedding or reselling.**

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityHigh
DEV.co fitGood
Assessment confidenceHigh
Security considerations

No security claims or posture data provided. Considerations: (1) CLI tool downloads and executes APK/xctest binaries; verify artifact source integrity. (2) SSH workers for iOS require key management; follow bastion/jump host patterns. (3) Test output may contain sensitive app data; logs and reports should be treated as artifacts. (4) Runs instrumented tests with elevated device access; no explicit mention of sandboxing or isolation.

Alternatives to consider

Firebase Test Lab / Google Cloud Testing

Fully managed cloud service for Android/iOS. No on-premise infrastructure, no open-source licensing concerns, but higher cost and less control over device selection and retry logic.

Bitrise / App Center / Sauce Labs

Commercial CI/CD and mobile testing platforms with similar parallelization and flakiness detection. Proprietary but lower DevOps overhead; licensing not a concern.

Gradle Test Orchestrator (Android) / XCTest native sharding

Native platform tooling for test parallelization. Free and tightly integrated but less sophisticated flakiness management and cross-platform features than Marathon.

Software development agency

Build on marathon with DEV.co software developers

Marathon is ideal for teams needing high-parallelization mobile test runs with flakiness resilience. Verify GPL-2.0 license compliance for your use case; consider Marathon Cloud if self-hosting is not feasible.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

marathon FAQ

Can I use Marathon in a proprietary, closed-source product?
No, not without changes. GPL-2.0 requires any distribution or embedding to release source. Use Marathon Cloud (commercial service) or request a separate license from MarathonLabs.
What devices does Marathon support?
Android: physical devices and emulators via Gradle. iOS: physical devices and simulators via SSH-connected macOS instances. Custom platforms possible via vendor API.
Do I need Marathon Cloud or can I self-host?
Self-hosting is possible (open-source). You manage device infrastructure, Java 17 runtime, and orchestration. Marathon Cloud (paid) is a managed alternative.
How does Marathon handle test flakiness?
Preventive retries for statistically risky tests, intelligent test sorting (long tests first), and post-factum retries with quotas. Strategies are tunable but conservative by default.

Work with a software development agency

Standing up marathon properly takes more than a deploy. As a software development agency, DEV.co handles the open-source testing architecture, the web development on top, and the operational work underneath.

Evaluate Marathon for Your Mobile Testing Pipeline

Marathon is ideal for teams needing high-parallelization mobile test runs with flakiness resilience. Verify GPL-2.0 license compliance for your use case; consider Marathon Cloud if self-hosting is not feasible.