Computer Says No - Static Analysis and CI in a Kotlin Word
summary
Kotlin Android pipeline that actually builds: Gradle + CircleCI v2.1 runs a Squanchy open‑source app (Kotlin only) with a cache‑warmup step, parallel jobs across four executors, unit tests (no instrumentation) and static analysis using ktlint, detekt and Android Lint feeding into SonarQube. CI injects four API keys and a Play Services JSON, downloads deps once, runs tests and linters in parallel, and reports issues so PRs fail until fixed.
AI-written summary · about
chapters (31)
- 0:00Introduction and welcome
- 0:21What is static analysis
- 2:08Testing vs static analysis
- 2:52Static analysis tools for Java
- 5:02Static analysis for Kotlin
- 6:08Android lint for Kotlin
- 7:11Kotlin tooling limitations
- 8:17Third-party Kotlin tools
- 9:00Ktlint for code style
- 10:24Detekt for static code analysis
- 12:10SonarQube for Kotlin
- 13:58IDE inspections and formatter
- 16:44Importance of IDE inspections
- 17:05What is continuous integration
- 18:29Benefits of CI
- 19:35Why adopt CI
- 21:21CI services overview
- 23:10Self-hosted vs cloud CI
- 25:23Free tiers and trials
- 26:04CI nodes and executors
- 27:07Typical CI job structure
- 28:11Parallelizing CI jobs
- 28:56Pipelines and workflows
- 30:42CircleCI practical example
- 33:13CI configuration and secrets
- 37:31CircleCI YAML breakdown
- 40:29CI job steps and caching
- 41:10Jobs and workflows in CI
- 42:12CI run execution flow
- 44:00Key CI principles
- 44:20Conclusion and Q&A
related talks
47mComputer Says No — Static analysis and CI in a Kotlin world
46mDevelop your CI tools
41mKotlin Static Analysis with Android Lint
38mCode Quality on Android - A grumpy old man's perspective
35mHow to to power your CI in 100Kotlin
30mDevSecOps: Injecting Security into Android CI/CD Pipelines
37mStatic Code Analysis For Kotlin
53mCI for Android Using Jenkins
