From e9bba43554564156901fd0459a84294d3cf0be05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Jos=C3=A9=20Mata?= Date: Wed, 18 Feb 2026 10:31:24 +0100 Subject: [PATCH] Wire TestFlight up to mobile releases --- .github/workflows/ios-testflight.yml | 6 ++++++ .github/workflows/mobile-release.yml | 8 ++++++++ mobile/README.md | 4 ++-- mobile/docs/iOS_TESTFLIGHT.md | 8 +++++++- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ios-testflight.yml b/.github/workflows/ios-testflight.yml index 8bf946836..9c2df20dd 100644 --- a/.github/workflows/ios-testflight.yml +++ b/.github/workflows/ios-testflight.yml @@ -7,6 +7,12 @@ on: description: "TestFlight release notes" required: false type: string + workflow_call: + inputs: + notes: + description: "TestFlight release notes" + required: false + type: string push: tags: - 'ios-v*' diff --git a/.github/workflows/mobile-release.yml b/.github/workflows/mobile-release.yml index c3f68e9a7..2dd459fb9 100644 --- a/.github/workflows/mobile-release.yml +++ b/.github/workflows/mobile-release.yml @@ -15,6 +15,14 @@ jobs: uses: ./.github/workflows/flutter-build.yml secrets: inherit + testflight: + name: Upload iOS to TestFlight + needs: [build] + uses: ./.github/workflows/ios-testflight.yml + with: + notes: "Mobile release ${{ github.ref_name }}" + secrets: inherit + release: name: Create Mobile GitHub Release needs: [build] diff --git a/mobile/README.md b/mobile/README.md index 8065766b6..b1d00ae23 100644 --- a/mobile/README.md +++ b/mobile/README.md @@ -151,9 +151,9 @@ The app includes automated CI/CD via GitHub Actions (`.github/workflows/flutter- - **Android Build**: Generates release APK and AAB artifacts - **iOS Build**: Generates iOS release build (unsigned) - **Quality Checks**: Code analysis and tests run before building -- **TestFlight**: Use `.github/workflows/ios-testflight.yml` for signed distribution uploads to App Store Connect +- **TestFlight**: `mobile-release` (mobile tags) triggers `.github/workflows/ios-testflight.yml` for signed App Store Connect uploads as part of one release flow -See [mobile/docs/iOS_TESTFLIGHT](mobile/docs/iOS_TESTFLIGHT.md) for required secrets and setup. +See [mobile/docs/iOS_TESTFLIGHT.md](mobile/docs/iOS_TESTFLIGHT.md) for required secrets and setup. ### Downloading Build Artifacts diff --git a/mobile/docs/iOS_TESTFLIGHT.md b/mobile/docs/iOS_TESTFLIGHT.md index cf09c6de1..cbf348e8b 100644 --- a/mobile/docs/iOS_TESTFLIGHT.md +++ b/mobile/docs/iOS_TESTFLIGHT.md @@ -9,6 +9,12 @@ This repository now includes `.github/workflows/ios-testflight.yml`, which build - Bundle ID `am.sure.mobile` (or your custom value in the workflow) - Flutter assets and source already in `mobile/` +## Trigger paths + +- Manual dispatch from the workflow UI. +- Tag push matching `ios-v*`. +- Called from `.github/workflows/mobile-release.yml` after the shared build job, so tagging `mobile-v*` now creates the GitHub release and uploads to TestFlight in one pipeline. + ## Required GitHub Secrets Set these in **Settings → Secrets and variables → Actions**: @@ -26,7 +32,7 @@ Set these in **Settings → Secrets and variables → Actions**: - `IOS_PROVISIONING_PROFILE_NAME` - `IOS_PROVISIONING_PROFILE_BASE64` -> Do **not** commit private keys, `.p12` files, or `.p8` files to the repository. +> Do **not** commit private keys, `.p12`, `.mobileprovision` or `.p8` files to the repository. ## Triggering