~/talk

From Laptop Builds to Advanced CI

Talkat Android Worldwide January 2024 · on Tuesday, 2024-01-30· [android, devops-and-delivery]
links:none on file
slides:none on file

400-module Android app (290k LOC, 24 contributors) drops slow CI by combining dependency and script caching, remote Gradle build cache, Gradle properties tweaks, JVM/JDK 19+ tuning, and configuration cache persistence. Unit test jobs go from ~35–40 minutes to 3 minute unit tests and UI test batches to about 1 minute for UI tests. Nightly shadow jobs catch incompatible JDK or dependency upgrades; minified release builds fall from ~40 minutes to ~8 after enabling configuration cache and caching plugin outputs. Tools used: Gradle/Gradle Enterprise, GitHub Actions/CircleCI, JDK GC tuning, build cache node.

AI-written summary · about

  1. 0:00Introduction
  2. 1:04Android builds context
  3. 3:52CI setup basics
  4. 6:12Testing CI with unit tests
  5. 8:39Avoid Android emulators
  6. 9:24Advanced CI optimization
  7. 10:08Performance benchmarks
  8. 11:50Caching dependencies
  9. 14:48Gradle properties quick wins
  10. 18:01Gradle Enterprise caching
  11. 21:12Remote cache setup
  12. 23:00Remote cache impact
  13. 23:43JDK upgrades performance
  14. 25:11Shadow jobs for dependencies
  15. 26:37JVM tuning for Gradle
  16. 31:42Heap and metaspace tuning
  17. 38:14Gradle workers optimization
  18. 41:01JVM config experiments
  19. 42:04Configuration cache setup
  20. 46:23Debugging config cache
  21. 48:11Config cache results
  22. 49:37CI overhead cost
  23. 50:50CI speed summary
  24. 51:10Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.