A native Android app for Mozilla engineers to monitor Firefox CI build status. Android port of BuildWatch (iOS).
- Live push list for your try pushes
- Per-push platform status dots — color coded by worst result (green / red / orange / blue)
- Failure count and in-progress job counts per push
- Pull-to-refresh with last-updated timestamp
- Swipe right on any push to toggle build-failure notifications for it
- Full commit messages with clickable bug number links
- Jobs grouped by platform (linux64, win64, macos, android-arm64, …)
- Filter by All / Failures / Running
- Retrigger any individual job with a tap
- Retrigger All Failed with a single tap
- Failure Summary — groups failed jobs by test name, shows affected job counts and raw error lines from TreeHerder log data
- All external links (TreeHerder, Taskcluster, Bugzilla) open in an in-app Custom Tab — tap back to return instantly
- Duration shown for every completed job
- LDAP username for filtering your try pushes
- Build notification opt-in per push (via swipe gesture on push list)
All APIs are public — no VPN or Mozilla network access required.
| Source | Used for |
|---|---|
| TreeHerder | Push list, job results, retrigger |
| Taskcluster | Task deep links |
| Bugzilla | Bug links from commit messages |
- Android Studio Meerkat (2024.3) or newer — download
- Android SDK platform 35 (installed automatically by Android Studio on first sync)
- Java 17+ — bundled with Android Studio, no separate install needed
- Android Emulator or a physical device running Android 8.0+ (API 26+)
git clone https://github.com/mozilla-platform-ops/BuildWatch-Android.git
cd BuildWatch-AndroidFile → Open → select the BuildWatch-Android folder.
Android Studio will detect the Gradle project and prompt you to sync. Click Sync Now. This downloads dependencies (~1–2 min on first run).
If you don't have an emulator set up:
- Device Manager (toolbar or View → Tool Windows → Device Manager)
- Click + → Create Virtual Device
- Pick any phone (e.g. Pixel 8) → Next
- Select a system image — API 35 (download if needed) → Next → Finish
Select your emulator from the device dropdown in the toolbar, then click Run ▶ (or Ctrl+R / Cmd+R).
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
export ANDROID_HOME="$HOME/Library/Android/sdk"
./gradlew assembleDebug # build only
./gradlew installDebug # build + install on connected device/emulator
./gradlew test # run unit testsThe debug APK is written to app/build/outputs/apk/debug/app-debug.apk.
Try Pushes tab — add your LDAP username (e.g. jsmith) in Settings. The app will filter the push list to your pushes only.
Build notifications — swipe right on any push in the list to watch it. You'll receive a notification when its builds finish.
app/src/main/java/com/mozilla/buildwatch/
├── model/ — Push, Job, FailureLine data classes
├── service/ — TreeHerderService (Retrofit + OkHttp)
├── repository/ — SettingsRepository (DataStore)
├── viewmodel/ — DashboardViewModel, SettingsViewModel
└── ui/
├── screen/ — TryPushesScreen, PushDetailScreen, SettingsScreen, FailureSummarySheet
├── component/ — Reusable Compose components
└── theme/ — Material 3 theme, JobColors
Single-module Kotlin + Jetpack Compose app. State via StateFlow, persistence via DataStore Preferences, networking via Retrofit + OkHttp. See docs/BuildWatch-Android-Design-Doc-v1.md for the full design spec and docs/API.md for the TreeHerder API contract.
Issues are tracked in .beads/ using br. To find the next actionable task:
br readyThis shows open, unblocked issues sorted by priority. See AGENTS.md for the full workflow (claiming work, closing issues, syncing).
PRs welcome. File issues at bugzilla.mozilla.org under Firefox :: Developer Tools.
Android port maintained at mozilla-platform-ops/BuildWatch-Android · Powered by TreeHerder