How Folio is tested
Everything here is read from Folio's own files when the site is built: its CI workflow, its release and its screen table. If a step is added or dropped, this page changes with it.
What CI runs
These are the jobs in Folio's CI workflow, and the steps each one runs.
Build and tests
- No private keys in the repository
- PERMISSIONS.md lists exactly the permissions the manifest declares
- Folio's own packages pass the SDK validator
- Unit tests, lint and debug build
Release rules
- Branch, notes and version rules
Fuzzing
- Fuzz the parsers
- Keep any input that failed
Speed and memory against other launchers
Measured on October 8, 2026 on a Galaxy Z Fold8, inner screen, Android 17, with Folio 0.6.8 installed from the signed release. Folio starts faster than Nova, Lawnchair and Niagara, ties Smart Launcher, and is behind One UI Home, which is part of the system. It uses less memory than every launcher here except Niagara. It is not the smoothest: One UI Home, Smart Launcher and Niagara scroll their app lists with fewer slow frames.
| Launcher | Cold start | Memory | Slow frames | Frame time (p95) |
|---|---|---|---|---|
| One UI Home | 38 ms | 483 MB | 0.86 to 0.89% | 5 to 9 ms |
| Folio | 74 ms | 232 MB | 2.71 to 3.3% | 13 to 16 ms |
| Smart Launcher 6.6 | 75 ms | 370 MB | 1.33 to 1.5% | 7 ms |
| Niagara | 160 ms | 174 MB | 0% | 6 ms |
| Lawnchair 15 Beta 3 | 252 ms | 251 MB | 0.22 to 0.36% | 19 ms |
| Nova Launcher | 314 ms | 494 MB | 0.03 to 0.33% | 19 to 24 ms |
Cold start is the median of 7 starts to the first frame, so it is not the time until everything is loaded. Memory is what the launcher held 15 seconds after it started. Slow frames and frame time come from scrolling each launcher's own app list, 12 identical fast swipes, 4 trials each, in rotation. The lists are not the same shape (One UI pages sideways, Folio's App Library scrolls by category), and a launcher that draws at a different rate is counted against its own deadline, so frame time is the fairer column. Drawer opening time and battery were not measured. This is one phone and one day, with each app's default setup. The script is public in the notes at the Folio repository and the numbers here are typed from its output, not generated.
Screen sizes
Folio's layout is run against 25 window sizes, from a flip cover to a desktop window. That is a list of sizes the layout code is tested against, not a phone of each kind. See every size.
What is not covered yet
The instrumented tests, the ones that run on a device or an emulator, are not part of the CI run. The full list of what is still missing is in the testing standard.
If something here looks wrong, or you find a bug these would have missed, open an issue.