Skip to content

Latest commit

 

History

History
110 lines (72 loc) · 2.07 KB

File metadata and controls

110 lines (72 loc) · 2.07 KB

Flutter Release Guide

Release Types

Internal Releases

Internal releases are for QA/testing after updating dependencies. These are manual builds distributed internally.

Production Releases

Production releases are published to Pub.dev following the full S.O.P. workflow.


Internal Release (APK / IPA Generation)

Use this for generating internal builds for QA/testing.

1. Generate Android Release APK

flutter build apk --release

Output location: build/app/outputs/flutter-apk/app-release.apk

2. Generate iOS Release IPA

flutter build ipa --release

Output location: build/ios/ipa/

3. Distribute Internally

Ideal Process (Bitrise Workflow):

  • Use Bitrise automated workflow for internal distribution
  • Bitrise will automatically build and distribute to configured channels

Fallback Process (Manual Distribution):

  • Share APK/IPA via Slack/Firebase App Distribution, Drive, or MDM tool

Production Release S.O.P.

Phase 1: Setup & Version Update

  1. Checkout from master

    git checkout master
    git pull origin master
    git checkout -b release/v{major}.{minor}.{patch}
  2. Apply Changes

    • Update native dependencies if needed For IOS:
      cd ios
      pod update
    • Manually update version in pubspec.yaml
    • Commit changes

Phase 2: PR & Verification

  1. Create PR to master

    git push origin release/v{version}
    • Create PR from release/v{version}master
    • Verify release branch is working fine
    • Wait for workflows to complete
  2. Merge to master

    • Merge PR after all checks pass

Phase 3: Local Testing

  1. Pull & Test
    git checkout master
    git pull origin master
    flutter run --release
    • Check console for errors/warnings

Phase 4: Publish (Authorized Personnel Only)

  1. Dry Run

    flutter pub publish --dry-run
  2. Publish to Pub.dev

    flutter pub publish
  3. Post-Release

    • Verify package on pub.dev