← ClaudeAtlas

android-ci-cd-releaselisted

Android CI/CD and release patterns - build validation, test pipelines, signing, versioning, flavors, Play rollout, release automation, and secrets handling. Use this skill whenever setting up GitHub Actions or other CI, preparing signed builds, managing release tracks, or automating checks for pull requests and production releases. Trigger on phrases like "CI", "CD", "GitHub Actions", "release", "signing", "versioning", "Play Console", "flavors", or "build pipeline".
lenorebreakneck630/claude-zero-to-hero-android-KMP · ★ 1 · DevOps & Infrastructure · score 64
Install: claude install-skill lenorebreakneck630/claude-zero-to-hero-android-KMP
# Android CI/CD and Release ## Core Principles - Every pull request should prove the app still builds and the critical tests still pass. - Release pipelines should be reproducible, minimal, and auditable. - Signing material and secrets must never live in source control. - Versioning strategy should be deterministic. - Release automation should reduce manual risk, not hide critical decisions. --- ## Recommended Pipeline Layers A healthy Android pipeline usually has three levels: 1. **PR validation** - dependency resolution - lint/static analysis - unit tests - assemble at least the main debug target 2. **Main branch validation** - everything in PR validation - instrumentation/UI tests if available - publishing of internal artifacts if needed 3. **Release pipeline** - signed bundle generation - release notes/changelog generation - upload to the correct store track - tagging and version tracking --- ## Minimum PR Checks For most Android repos, the minimum CI checks are: - Gradle wrapper validation - build logic/config validation - `lint` - unit tests - assemble debug or the main app variant If the project is modular, add targeted jobs for changed modules only only when the optimization is clearly worth the added complexity. --- ## Versioning Choose one strategy and keep it consistent. ### Simple app versioning - `versionName` -> human-readable release version, e.g. `1.4.0` - `versionCode` -> monotonically increasing integer for