From 942c53d9fe900b6b9d40b6640ef20821714d9521 Mon Sep 17 00:00:00 2001 From: Alex Tran Date: Wed, 13 May 2026 15:12:19 -0500 Subject: [PATCH] feat: add RC fastlane lanes and wire build-mobile workflow --- .github/workflows/build-mobile.yml | 10 ++++++---- mobile/android/fastlane/Fastfile | 4 ++-- mobile/ios/fastlane/Fastfile | 31 ++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-mobile.yml b/.github/workflows/build-mobile.yml index f3f254e4be..a96b5a185a 100644 --- a/.github/workflows/build-mobile.yml +++ b/.github/workflows/build-mobile.yml @@ -7,7 +7,7 @@ on: required: false type: string environment: - description: 'Target environment' + description: 'Target environment (development, rc, or production)' required: true default: 'development' type: string @@ -298,10 +298,12 @@ jobs: run: | # Only upload to TestFlight on main branch if [[ "$GITHUB_REF" == "refs/heads/main" ]]; then - if [[ "$ENVIRONMENT" == "development" ]]; then - bundle exec fastlane gha_testflight_dev - else + if [[ "$ENVIRONMENT" == "rc" ]]; then + bundle exec fastlane gha_testflight_rc + elif [[ "$ENVIRONMENT" == "production" ]]; then bundle exec fastlane gha_release_prod + elif [[ "$ENVIRONMENT" == "development" ]]; then + bundle exec fastlane gha_testflight_dev fi else # Build only, no TestFlight upload for non-main branches diff --git a/mobile/android/fastlane/Fastfile b/mobile/android/fastlane/Fastfile index 0f55eeec26..9adf991406 100644 --- a/mobile/android/fastlane/Fastfile +++ b/mobile/android/fastlane/Fastfile @@ -16,8 +16,8 @@ default_platform(:android) platform :android do - desc "Build Android and Release Testing" - lane :beta do + desc "Build and Release Android RC to Open Testing" + lane :rc do gradle( task: 'bundle', build_type: 'Release', diff --git a/mobile/ios/fastlane/Fastfile b/mobile/ios/fastlane/Fastfile index ff9fc4580f..37da0b248a 100644 --- a/mobile/ios/fastlane/Fastfile +++ b/mobile/ios/fastlane/Fastfile @@ -169,6 +169,37 @@ end ) end + desc "iOS RC Build to public TestFlight" + lane :gha_testflight_rc do + api_key = get_api_key + + sigh(api_key: api_key, app_identifier: DEV_BUNDLE_ID, force: true) + main_profile_name = lane_context[SharedValues::SIGH_NAME] + + sigh(api_key: api_key, app_identifier: "#{DEV_BUNDLE_ID}.ShareExtension", force: true) + share_profile_name = lane_context[SharedValues::SIGH_NAME] + + sigh(api_key: api_key, app_identifier: "#{DEV_BUNDLE_ID}.Widget", force: true) + widget_profile_name = lane_context[SharedValues::SIGH_NAME] + + configure_code_signing( + base_bundle_id: DEV_BUNDLE_ID, + profile_name_main: main_profile_name, + profile_name_share: share_profile_name, + profile_name_widget: widget_profile_name + ) + + build_and_upload( + api_key: api_key, + base_bundle_id: DEV_BUNDLE_ID, + version_number: get_version_from_pubspec.split('-').first, + distribute_external: true, + profile_name_main: main_profile_name, + profile_name_share: share_profile_name, + profile_name_widget: widget_profile_name + ) + end + desc "iOS Release to TestFlight" lane :gha_release_prod do api_key = get_api_key