workflows: staging_android: name: Staging Android instance_type: linux_x2 environment: flutter: $FLUTTER_VERSION android_signing: - upload_keystore groups: - codemagic-staging - codemagic-common-vars triggering: events: - push branch_patterns: - pattern: fusion-app include: true scripts: - name: Setup project (melos bootstrap) script: sh ./codemagic_scripts/project_setup.sh - name: Analyze + test (bloqueante) script: sh ./codemagic_scripts/analyze_and_test.sh - name: Print versions script: sh ./codemagic_scripts/print_versions.sh android staging - name: Android dependencies script: sh ./codemagic_scripts/android_dependencies.sh - name: Set up key.properties script: sh ./codemagic_scripts/android_key_properties.sh - name: Build Android app (APP_MODE=legacy) script: sh ./codemagic_scripts/flutter_build.sh android staging legacy - name: Mark success script: touch ~/SUCCESS artifacts: - apps/mobile_app/build/app/outputs/bundle/stagingRelease/app-staging-release.aab publishing: google_play: track: internal credentials: $GCLOUD_SERVICE_ACCOUNT_CREDENTIALS submit_as_draft: false scripts: - name: Report status script: sh ./codemagic_scripts/build_status.sh android staging staging_ios: name: Staging iOS instance_type: mac_mini_m2 integrations: app_store_connect: SaveFamily ASC Key environment: flutter: $FLUTTER_VERSION xcode: latest ios_signing: distribution_type: app_store bundle_identifier: com.savefamily.app.stag groups: - codemagic-staging - codemagic-common-vars triggering: events: - push branch_patterns: - pattern: fusion-app include: true scripts: - name: Setup project (melos bootstrap) script: sh ./codemagic_scripts/project_setup.sh - name: Analyze + test (bloqueante) script: sh ./codemagic_scripts/analyze_and_test.sh - name: iOS signing + CocoaPods script: sh ./codemagic_scripts/ios_signing_cocoapods.sh - name: Print versions script: sh ./codemagic_scripts/print_versions.sh ios staging - name: Build iOS app (APP_MODE=legacy) script: sh ./codemagic_scripts/flutter_build.sh ios staging legacy - name: Mark success script: touch ~/SUCCESS artifacts: - apps/mobile_app/build/ios/ipa/*.ipa publishing: app_store_connect: auth: integration submit_to_testflight: true scripts: - name: Report status script: sh ./codemagic_scripts/build_status.sh ios staging production_android: name: Production Android instance_type: linux_x2 environment: flutter: $FLUTTER_VERSION android_signing: - upload_keystore groups: - codemagic-production - codemagic-common-vars triggering: events: - tag scripts: - name: Setup project (melos bootstrap) script: sh ./codemagic_scripts/project_setup.sh - name: Analyze + test (bloqueante) script: sh ./codemagic_scripts/analyze_and_test.sh - name: Print versions script: sh ./codemagic_scripts/print_versions.sh android production - name: Android dependencies script: sh ./codemagic_scripts/android_dependencies.sh - name: Set up key.properties script: sh ./codemagic_scripts/android_key_properties.sh - name: Build Android app (APP_MODE=legacy) script: sh ./codemagic_scripts/flutter_build.sh android production legacy - name: Mark success script: touch ~/SUCCESS artifacts: - apps/mobile_app/build/app/outputs/bundle/productionRelease/app-production-release.aab publishing: google_play: track: internal credentials: $GCLOUD_SERVICE_ACCOUNT_CREDENTIALS submit_as_draft: true scripts: - name: Report status script: sh ./codemagic_scripts/build_status.sh android production production_ios: name: Production iOS instance_type: mac_mini_m2 integrations: app_store_connect: SaveFamily ASC Key environment: flutter: $FLUTTER_VERSION xcode: latest ios_signing: distribution_type: app_store bundle_identifier: com.savefamily.app groups: - codemagic-production - codemagic-common-vars triggering: events: - tag scripts: - name: Setup project (melos bootstrap) script: sh ./codemagic_scripts/project_setup.sh - name: Analyze + test (bloqueante) script: sh ./codemagic_scripts/analyze_and_test.sh - name: iOS signing + CocoaPods script: sh ./codemagic_scripts/ios_signing_cocoapods.sh - name: Print versions script: sh ./codemagic_scripts/print_versions.sh ios production - name: Build iOS app (APP_MODE=legacy) script: sh ./codemagic_scripts/flutter_build.sh ios production legacy - name: Mark success script: touch ~/SUCCESS artifacts: - apps/mobile_app/build/ios/ipa/*.ipa publishing: app_store_connect: auth: integration submit_to_app_store: true release_type: MANUAL cancel_previous_submissions: true copyright: 2026 SaveFamily scripts: - name: Report status script: sh ./codemagic_scripts/build_status.sh ios production