SuperAPI AI Directory

flutter-cicd

Deployment & operations

View repository

Updated 10-15 22:13

About this skill

CI/CD Standards

Priority: P1 (HIGH)

Core Pipeline Steps

  1. Environment Setup: Use stable Flutter channel. Cache dependencies (pub, gradle, cocoapods).
  2. Static Analysis: Enforce flutter analyze and dart format. Fail on any warning in strict mode.
  3. Testing: Run unit, widget, and integration tests. Upload coverage reports (e.g., Codecov).
  4. Build:
  • Android: Build App Bundle (.aab) for Play Store.
  • iOS: Sign and build .ipa (requires macOS runner).
  1. Deployment (CD): Automated upload to TestFlight/Play Console using standard tools (Fastlane, Codemagic).

Best Practices

  • Timeout Limits: Always set timeout-minutes (e.g., 30m) to save costs on hung jobs.
  • Fail Fast: Run Analyze/Format before Tests/Builds.
  • Secrets: Never commit keys. Use GitHub Secrets or secure vaults for keystore.jks and .p8 certs.
  • Versioning: Automate version bumping based on git tags or semantic version scripts.

Reference

Anti-Patterns

  • No Secrets in Repo: Store keystore.jks, .p8, and .env in GitHub Secrets
  • No Uncapped Jobs: Always set timeout-minutes (e.g., 30m) to save runner minutes
  • No Manual Versioning: Automate pubspec.yaml versioning via git tags or scripts
  • No Late Analysis: Run flutter analyze before builds/tests for fast failure

Related Topics

flutter/testing | dart/tooling

Canonical response anchors

When this skill applies, preserve the following domain terminology or equivalent concrete examples in the answer when relevant:

  • run analyze/format