Agent-skills-standard flutter-cicd

Set up Continuous Integration and Deployment pipelines for Flutter apps. Use when setting up CI/CD pipelines, automated testing, or deployment workflows for Flutter. (triggers: .github/workflows/**.yml, fastlane/**, android/fastlane/**, ios/fastlane/**, ci, cd, pipeline, build, deploy, release, action, workflow)

install
source · Clone the upstream repo
git clone https://github.com/HoangNguyen0403/agent-skills-standard
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HoangNguyen0403/agent-skills-standard "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/flutter/flutter-cicd" ~/.claude/skills/hoangnguyen0403-agent-skills-standard-flutter-cicd && rm -rf "$T"
manifest: skills/flutter/flutter-cicd/SKILL.md
source content

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